Pular para o conteúdo principal

Referência de Expressões

String

base64_decode(thing)

Decodifica uma expressão em Base64

Exemplo 1: Retorna a string decodificada em Base64 a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world" quando usado com o seguinte contexto:

%{"text" => %{"__value__" => "aGVsbG8gd29ybGQ=", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = base64_decode(text)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@base64_decode(text)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world".

card MyCard do
my_var = base64_decode("aGVsbG8gd29ybGQ=")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@base64_decode(\"aGVsbG8gd29ybGQ=\")"
end

base64_encode(thing)

Codifica uma expressão em Base64

Exemplo 1: Retorna a string codificada em Base64 a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "aGVsbG8gd29ybGQ=" quando usado com o seguinte contexto:

%{"text" => %{"__value__" => "hello world", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = base64_encode(text)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@base64_encode(text)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "aGVsbG8gd29ybGQ=".

card MyCard do
my_var = base64_encode("hello world")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@base64_encode(\"hello world\")"
end

char(code)

Retorna o caractere especificado por um número

> "As easy as @char(65), @char(66), @char(67)"
"As easy as A, B, C"

Exemplo 1: Retorna o caractere a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "A" quando usado com o seguinte contexto:

%{"code" => %{"__value__" => 65, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = char(code)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@char(code)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "A".

card MyCard do
my_var = char(65)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@char(65)"
end

clean(binary)

Remove todos os caracteres não imprimíveis de uma string de texto

Exemplo 1: Retorna a string limpa a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "ABC" quando usado com o seguinte contexto:

%{"value" => %{"__value__" => <<65, 0, 66, 0, 67>>, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = clean(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@clean(value)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = clean(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@clean(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "ABC" quando usado com o seguinte contexto:

%{"value" => <<65, 0, 66, 0, 67>>}
card MyCard do
my_var = clean(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@clean(value)"
end

code(code_ast)

Retorna um código numérico para o primeiro caractere em uma string de texto

> "The numeric code of A is @CODE(\"A\")"
"The numeric code of A is 65"

Exemplo 1: Retorna o código a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 65 quando usado com o seguinte contexto:

%{"value" => %{"__value__" => "A", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = code(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@code(value)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = code(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@code(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 65.

card MyCard do
my_var = code("A")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@code(\"A\")"
end

concatenate(argument1, argument2, argument3)

Une strings de texto em uma única string de texto

> "Your name is @CONCATENATE(contact.first_name, \" \", contact.last_name)"
"Your name is name surname"

Exemplo 1: Retorna a string concatenada a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "name surname" quando usado com o seguinte contexto:

%{"first_name" => %{"__value__" => "name", "display" => "value for display key", "value" => "value for value key"}, "last_name" => %{"__value__" => "surname", "display" => "value for display key", "value" => "value for value key"}, "separator" => %{"__value__" => " ", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = concatenate(first_name, separator, last_name)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@concatenate(first_name, separator, last_name)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "name surname" quando usado com o seguinte contexto:

%{"contact" => %{"first_name" => "name", "last_name" => "surname"}}
card MyCard do
my_var = concatenate(contact.first_name, " ", contact.last_name)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@concatenate(contact.first_name, \" \", contact.last_name)"
end

find_exact_match(input, keyword_set)

Verifica se existe uma correspondência exata em um conjunto de palavras-chave. As palavras-chave podem ser números.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "apple".

card MyCard do
my_var = find_exact_match("apple", ["apple", "orange", "beets"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@find_exact_match(\"apple\", [\"apple\", \"orange\", \"beets\"])"
end

find_fuzzy_matches(input, keyword_threshold_set)

Encontra correspondências aproximadas para o conjunto keyword_threshold. Cada palavra-chave possui seu próprio limite (threshold).

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo String complexo de valor padrão:

"apple"

com os seguintes campos:

  • match do tipo String
  • others do tipo List with values Map
  • threshold do tipo Integer.
card MyCard do
my_var = find_fuzzy_matches("appls", [["apple", 1], ["app", 2]])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@find_fuzzy_matches(\"appls\", [[\"apple\", 1], [\"app\", 2]])"
end

find_fuzzy_matches(input, keyword_set, threshold)

Encontra correspondências aproximadas para as palavras-chave usando o mesmo limite (threshold) para todas.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo String complexo de valor padrão:

"pear"

com os seguintes campos:

  • match do tipo String
  • others do tipo **List with values **
  • threshold do tipo Integer.
card MyCard do
my_var = find_fuzzy_matches("pork", ["apple", "orange", "pear"], 3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@find_fuzzy_matches(\"pork\", [\"apple\", \"orange\", \"pear\"], 3)"
end

first_word(binary)

Retorna a primeira palavra do texto fornecido - equivalente a WORD(text, 1)

Exemplo 1: Retorna a primeira palavra a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo" quando usado com o seguinte contexto:

%{"string" => %{"__value__" => "foo bar baz", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = first_word(string)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@first_word(string)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = first_word(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@first_word(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo".

card MyCard do
my_var = first_word("foo bar baz")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@first_word(\"foo bar baz\")"
end

get_brief(phrase)

Extrai os primeiros caracteres da frase, por padrão 20 caracteres

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "this is a very lo...".

card MyCard do
my_var = get_brief("this is a very long sentence")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@get_brief(\"this is a very long sentence\")"
end

get_brief(phrase, num_chars)

Extrai os primeiros caracteres da frase até o limite especificado

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "this is...".

card MyCard do
my_var = get_brief("this is a very long sentence", 10)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@get_brief(\"this is a very long sentence\", 10)"
end

has_all_words(haystack, words)

Testa se todas as palavras estão contidas no texto

As palavras podem estar em qualquer ordem e podem aparecer mais de uma vez.

Exemplo 1: Retorna um booleano indicando se todas as palavras estão contidas no valor de texto na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"haystack" => %{"__value__" => "the quick brown FOX", "display" => "value for display key", "value" => "value for value key"}, "words" => %{"__value__" => "the fox", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_all_words(haystack, words)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_all_words(haystack, words)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_all_words(nil, "red fox")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_all_words(nil, \"red fox\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_all_words("the quick brown FOX", "red fox")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_all_words(\"the quick brown FOX\", \"red fox\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_all_words("the quick brown FOX", "the fox")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_all_words(\"the quick brown FOX\", \"the fox\")"
end

has_any_beginning(text, prefixes)

Verifica se o texto fornecido começa com algum dos prefixos fornecidos. A função executa uma comparação sem distinção de maiúsculas e minúsculas.

Exemplo 1: Retorna um booleano indicando se o texto começa com algum dos prefixos fornecidos a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"prefixes" => %{"__value__" => ["hello", "hey how are you"], "display" => "value for display key", "value" => "value for value key"}, "text" => %{"__value__" => "HEY HOW ARE YOU?", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_any_beginning(text, prefixes)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_beginning(text, prefixes)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_beginning("كيف حالك؟", ["كيف حالك", "hey how are you"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_beginning(\"كيف حالك؟\", [\"كيف حالك\", \"hey how are you\"])"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_beginning("HEY HOW ARE YOU?", ["hello", "hey how are you"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_beginning(\"HEY HOW ARE YOU?\", [\"hello\", \"hey how are you\"])"
end

has_any_end(text, end_texts)

Exemplo 1: Retorna um booleano indicando se o texto termina com alguma das strings fornecidas a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"end_texts" => %{"__value__" => ["appointment", "visit", "vaccine"], "display" => "value for display key", "value" => "value for value key"}, "text" => %{"__value__" => "I would like to book a vaccine", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_any_end(text, end_texts)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_end(text, end_texts)"
end

Exemplo 2: Verifica se o texto fornecido termina com alguma das strings fornecidas. A função executa uma comparação sem distinção de maiúsculas e minúsculas.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_end("I would like to book a vaccine", ["appointment", "visit", "vaccine"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_end(\"I would like to book a vaccine\", [\"appointment\", \"visit\", \"vaccine\"])"
end

has_any_exact_phrase(text, phrases)

Verifica se o texto fornecido corresponde exatamente a alguma das frases fornecidas. A função executa uma correspondência exata sem distinção de maiúsculas e minúsculas.

Exemplo 1: Retorna um booleano indicando se o texto corresponde exatamente a alguma das frases fornecidas a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"phrases" => %{"__value__" => ["hello", "hey how are you?"], "display" => "value for display key", "value" => "value for value key"}, "text" => %{"__value__" => "HEY HOW ARE YOU?", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_any_exact_phrase(text, phrases)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_exact_phrase(text, phrases)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_any_exact_phrase("كيف حالك؟", ["كيف حالك", "hey how are you"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_exact_phrase(\"كيف حالك؟\", [\"كيف حالك\", \"hey how are you\"])"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_exact_phrase("HEY HOW ARE YOU?", ["hello", "hey how are you?"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_exact_phrase(\"HEY HOW ARE YOU?\", [\"hello\", \"hey how are you?\"])"
end

has_any_phrase(text, phrases)

Verifica se o texto fornecido contém alguma das strings fornecidas. A função executa uma correspondência exata sem distinção de maiúsculas e minúsculas. O segundo argumento espera ou uma lista de strings ou uma única string com frases separadas por vírgula.

Exemplo 1: Retorna um booleano indicando se o texto contém alguma das frases fornecidas a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"phrases" => %{"__value__" => ["hello", "bye bye", "how are you"], "display" => "value for display key", "value" => "value for value key"}, "text" => %{"__value__" => "hey how are you?", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_any_phrase(text, phrases)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_phrase(text, phrases)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_phrase("hey how are you?", "hello, bye bye, how are you")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_phrase(\"hey how are you?\", \"hello, bye bye, how are you\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_phrase("مرحباً كيف حالك؟", ["كيف حالك", "how are you"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_phrase(\"مرحباً كيف حالك؟\", [\"كيف حالك\", \"how are you\"])"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_phrase("hey how are you?", ["hello", "bye bye", "how are you"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_phrase(\"hey how are you?\", [\"hello\", \"bye bye\", \"how are you\"])"
end

has_any_word(haystack, words)

Testa se alguma das palavras está contida no texto

Apenas uma das palavras precisa corresponder e ela pode aparecer mais de uma vez.

Exemplo 1: Testa se alguma das palavras está contida no valor de texto na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo String quando usado com o seguinte contexto:
%{"haystack" => %{"__value__" => "The Quick Brown Fox", "display" => "value for display key", "value" => "value for value key"}, "words" => %{"__value__" => "fox quick", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_any_word(haystack, words)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_word(haystack, words)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • match do tipo Null.
card MyCard do
my_var = has_any_word("The Quick Brown Fox", "yellow")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_word(\"The Quick Brown Fox\", \"yellow\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo String.
card MyCard do
my_var = has_any_word("The Quick Brown Fox", "fox quick")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_word(\"The Quick Brown Fox\", \"fox quick\")"
end

has_beginning(text, beginning)

Testa se o texto começa com beginning

Ambos os valores de texto são removidos de espaços em branco ao redor, mas a correspondência é estrita, sem qualquer tokenização.

Exemplo 1: Testa se o texto começa com o valor de beginning na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"beginning" => %{"__value__" => "the quick", "display" => "value for display key", "value" => "value for value key"}, "text" => %{"__value__" => "The Quick Brown", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_beginning(text, beginning)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_beginning(text, beginning)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_beginning("The Quick Brown", "quick brown")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_beginning(\"The Quick Brown\", \"quick brown\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_beginning("The Quick Brown", "the quick")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_beginning(\"The Quick Brown\", \"the quick\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_beginning("The Quick Brown", "the quick")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_beginning(\"The Quick Brown\", \"the quick\")"
end

has_date(expression)

Testa se expression contém uma data formatada de acordo com nosso ambiente

Isso é implementado de forma bastante simples com uma expressão regular.

Exemplo 1: Testa se expression contém uma data a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • date do tipo Date
  • datetime do tipo DateTime
  • match do tipo DateTime quando usado com o seguinte contexto:
%{"expression" => %{"__value__" => "the date is 15/01/2017 05:50", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_date(expression)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date(expression)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • date do tipo Null
  • datetime do tipo Null
  • match do tipo Null quando usado com o seguinte contexto:
%{"var" => 1}
card MyCard do
my_var = has_date(var)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date(var)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • date do tipo Null
  • datetime do tipo Null
  • match do tipo Null.
card MyCard do
my_var = has_date(1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date(1)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • date do tipo Null
  • datetime do tipo Null
  • match do tipo Null.
card MyCard do
my_var = has_date("there is no date here, just a year 2017")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date(\"there is no date here, just a year 2017\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2017-01-15T05:50:00Z".

card MyCard do
my_var = has_date("the date is 15/01/2017 05:50").datetime
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date(\"the date is 15/01/2017 05:50\").datetime"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2017-01-15".

card MyCard do
my_var = has_date("the date is 15/01/2017").date
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date(\"the date is 15/01/2017\").date"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • date do tipo Date
  • datetime do tipo DateTime
  • match do tipo DateTime.
card MyCard do
my_var = has_date("the date is 15/01/2017 05:50")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date(\"the date is 15/01/2017 05:50\")"
end

has_date_eq(expression, date_string)

Testa se expression é uma data igual a date_string

Exemplo 1: Testa se expression é igual à data a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo Date
  • test do tipo Date quando usado com o seguinte contexto:
%{"date_string" => %{"__value__" => "2017-01-15", "display" => "value for display key", "value" => "value for value key"}, "expression" => %{"__value__" => "the date is 15/01/2017", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_date_eq("the date is 15/01/2017", "2017-01-15")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date_eq(\"the date is 15/01/2017\", \"2017-01-15\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • error do tipo Map
  • match do tipo Null
  • test do tipo Date.
card MyCard do
my_var = has_date_eq("there is no date here, just a year 2017", "2017-01-15")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date_eq(\"there is no date here, just a year 2017\", \"2017-01-15\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo Date
  • test do tipo Date.
card MyCard do
my_var = has_date_eq("the date is 15/01/2017", "2017-01-15")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date_eq(\"the date is 15/01/2017\", \"2017-01-15\")"
end

has_date_gt(expression, date_string)

Testa se expression é uma data posterior à data date_string

Exemplo 1: Testa se expression é maior que a data a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo Date
  • test do tipo Date quando usado com o seguinte contexto:
%{"date_string" => %{"__value__" => "2017-01-01", "display" => "value for display key", "value" => "value for value key"}, "expression" => %{"__value__" => "the date is 15/01/2017", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_date_gt(expression, date_string)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date_gt(expression, date_string)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • match do tipo Date
  • test do tipo Date.
card MyCard do
my_var = has_date_gt("the date is 15/01/2017", "2017-03-15")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date_gt(\"the date is 15/01/2017\", \"2017-03-15\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo Date
  • test do tipo Date.
card MyCard do
my_var = has_date_gt("the date is 15/01/2017", "2017-01-01")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date_gt(\"the date is 15/01/2017\", \"2017-01-01\")"
end

has_date_lt(expression, date_string)

Testa se expression contém uma data anterior à data date_string

Exemplo 1: Testa se expression é menor que a data a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo Date
  • test do tipo Date quando usado com o seguinte contexto:
%{"date_string" => %{"__value__" => "2017-06-01", "display" => "value for display key", "value" => "value for value key"}, "expression" => %{"__value__" => "the date is 15/01/2017", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_date_lt(expression, date_string)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date_lt(expression, date_string)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • match do tipo Date
  • test do tipo Date.
card MyCard do
my_var = has_date_lt("the date is 15/01/2021", "2017-03-15")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date_lt(\"the date is 15/01/2021\", \"2017-03-15\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo Date
  • test do tipo Date.
card MyCard do
my_var = has_date_lt("the date is 15/01/2017", "2017-06-01")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_date_lt(\"the date is 15/01/2017\", \"2017-06-01\")"
end

has_email(expression)

Testa se existe um email contido no texto

Exemplo 1: Testa se existe um email contido em expression a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • email do tipo String quando usado com o seguinte contexto:
%{"expression" => %{"__value__" => "my email is foo1@bar.com, please respond", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_email(expression)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_email(expression)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • email do tipo Null.
card MyCard do
my_var = has_email(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_email(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • email do tipo Null.
card MyCard do
my_var = has_email("i'm not sharing my email")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_email(\"i'm not sharing my email\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • email do tipo String.
card MyCard do
my_var = has_email("my email is foo1@bar.com, please respond")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_email(\"my email is foo1@bar.com, please respond\")"
end

has_end(text, end_text)

Exemplo 1: Retorna um booleano indicando se o texto termina com a string fornecida a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"end_text" => %{"__value__" => "vaccine", "display" => "value for display key", "value" => "value for value key"}, "text" => %{"__value__" => "I would like to book a vaccine", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_end(text, end_text)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_end(text, end_text)"
end

Exemplo 2: Verifica se o texto fornecido termina com a string fornecida. A função executa uma comparação sem distinção de maiúsculas e minúsculas.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_end("I would like to book a vaccine", "vaccine")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_end(\"I would like to book a vaccine\", \"vaccine\")"
end

has_number(expression)

Testa se expression contém um número

Exemplo 1: Testa se expression contém um número a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • number do tipo Float quando usado com o seguinte contexto:
%{"string" => %{"__value__" => "the number is 42 and 5", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_number(string)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number(string)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • number do tipo Float.
card MyCard do
my_var = has_number("0.6")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number(\"0.6\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • number do tipo Float.
card MyCard do
my_var = has_number("٠.٥")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number(\"٠.٥\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • number do tipo Float.
card MyCard do
my_var = has_number("العدد ٤٢")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number(\"العدد ٤٢\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • number do tipo Float.
card MyCard do
my_var = has_number("the number is 42 and 5")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number(\"the number is 42 and 5\")"
end

has_number_eq(expression, float)

Testa se expression contém um número igual ao valor

Exemplo 1: Testa se expression é igual ao número a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"float" => %{"__value__" => 42, "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "the number is 42", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_number_eq(string, float)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_eq(string, float)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_eq("four hundred", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_eq(\"four hundred\", \"foo\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_eq("the number is 40", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_eq(\"the number is 40\", \"foo\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_eq("the number is 40", "42")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_eq(\"the number is 40\", \"42\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_eq("the number is 42.0", "42")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_eq(\"the number is 42.0\", \"42\")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_eq("the number is 0.5", "0.5")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_eq(\"the number is 0.5\", \"0.5\")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_eq("the number is 42", "42")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_eq(\"the number is 42\", \"42\")"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_eq("the number is 42", 42.0)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_eq(\"the number is 42\", 42.0)"
end

Exemplo 9:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_eq("the number is 42", 42)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_eq(\"the number is 42\", 42)"
end

has_number_gt(expression, float)

Testa se expression contém um número maior que min

Exemplo 1: Testa se expression é maior que o número a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"float" => %{"__value__" => 40, "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "the number is 42", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_number_gt(string, float)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gt(string, float)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gt("four hundred", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gt(\"four hundred\", \"foo\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gt("the number is 40", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gt(\"the number is 40\", \"foo\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gt("the number is 40", "40")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gt(\"the number is 40\", \"40\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gt("the number is 42.0", "40")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gt(\"the number is 42.0\", \"40\")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gt("the number is 0.6", "0.5")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gt(\"the number is 0.6\", \"0.5\")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gt("the number is 42", "40")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gt(\"the number is 42\", \"40\")"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gt("the number is 42", 40.0)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gt(\"the number is 42\", 40.0)"
end

Exemplo 9:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gt("the number is 42", 40)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gt(\"the number is 42\", 40)"
end

has_number_gte(expression, float)

Testa se expression contém um número maior ou igual a min

Exemplo 1: Testa se expression é maior ou igual ao número a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"float" => %{"__value__" => 42, "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "the number is 42", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_number_gte(string, float)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gte(string, float)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gte("four hundred", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gte(\"four hundred\", \"foo\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gte("the number is 40", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gte(\"the number is 40\", \"foo\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gte("the number is 40", "45")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gte(\"the number is 40\", \"45\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_gte("the number is 42.0", "45")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gte(\"the number is 42.0\", \"45\")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gte("the number is 0.5", "0.5")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gte(\"the number is 0.5\", \"0.5\")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gte("the number is 42", "42")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gte(\"the number is 42\", \"42\")"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gte("the number is 42", 42.0)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gte(\"the number is 42\", 42.0)"
end

Exemplo 9:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_gte("the number is 42", 42)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_gte(\"the number is 42\", 42)"
end

has_number_lt(expression, float)

Testa se expression contém um número menor que max

Exemplo 1: Testa se expression é menor que o número a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"float" => %{"__value__" => 44, "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "the number is 42", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_number_lt(string, float)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lt(string, float)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("four hundred", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lt(\"four hundred\", \"foo\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("the number is 40", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lt(\"the number is 40\", \"foo\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("the number is 40", "40")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lt(\"the number is 40\", \"40\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("the number is 42.0", "40")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lt(\"the number is 42.0\", \"40\")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("the number is 0.6", "0.5")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lt(\"the number is 0.6\", \"0.5\")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lt("the number is 42", "40")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lt(\"the number is 42\", \"40\")"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lt("the number is 42", 44.0)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lt(\"the number is 42\", 44.0)"
end

Exemplo 9:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lt("the number is 42", 44)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lt(\"the number is 42\", 44)"
end

has_number_lte(expression, float)

Testa se expression contém um número menor ou igual a max

Exemplo 1: Testa se expression é menor ou igual ao número a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"float" => %{"__value__" => 42, "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "the number is 42", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_number_lte(string, float)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lte(string, float)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"response" => 3}
card MyCard do
my_var = has_number_lte(response, 5)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lte(response, 5)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lte("four hundred", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lte(\"four hundred\", \"foo\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lte("the number is 40", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lte(\"the number is 40\", \"foo\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_number_lte("the number is 42.0", "40")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lte(\"the number is 42.0\", \"40\")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lte("the number is 0.5", "0.5")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lte(\"the number is 0.5\", \"0.5\")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lte("the number is 42", "42")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lte(\"the number is 42\", \"42\")"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lte("the number is 42", 42.0)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lte(\"the number is 42\", 42.0)"
end

Exemplo 9:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_number_lte("the number is 42", 42)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_number_lte(\"the number is 42\", 42)"
end

has_only_phrase(expression, phrase)

Testa se o texto contém apenas a frase informada

A frase deve ser o único texto no texto para corresponder

Exemplo 1: Testa se expression contém apenas a frase a partir dos valores nas chaves value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"phrase" => %{"__value__" => "quick brown", "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "Quick Brown", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_only_phrase(string, phrase)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_only_phrase(string, phrase)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_only_phrase("The Quick Brown Fox", "quick brown")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_only_phrase(\"The Quick Brown Fox\", \"quick brown\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_only_phrase("", "")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_only_phrase(\"\", \"\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_only_phrase("Quick Brown", "quick brown")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_only_phrase(\"Quick Brown\", \"quick brown\")"
end

has_only_text(expression_one, expression_two)

Retorna se dois valores de texto são iguais (sensível a maiúsculas e minúsculas). Caso sejam, retornará o texto como correspondência.

Exemplo 1: Retorna se dois valores de texto são iguais a partir dos valores nas chaves value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"expression_one" => %{"__value__" => "foo", "display" => "value for display key", "value" => "value for value key"}, "expression_two" => %{"__value__" => "foo", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_only_text(string, phrase)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_only_text(string, phrase)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_only_text("foo", "FOO")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_only_text(\"foo\", \"FOO\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_only_text("", "")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_only_text(\"\", \"\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_only_text("foo", "foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_only_text(\"foo\", \"foo\")"
end

has_pattern(expression, pattern)

Testa se expression corresponde ao padrão regex

Ambos os valores de texto são removidos de espaços em branco ao redor e a correspondência é sem distinção de maiúsculas e minúsculas.

Exemplo 1: Retorna se dois valores de texto são iguais a partir dos valores nas chaves value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"expression" => %{"__value__" => "Buy cheese please", "display" => "value for display key", "value" => "value for value key"}, "pattern" => %{"__value__" => "buy (\\w+)", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_pattern(expression, pattern)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_pattern(expression, pattern)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_pattern(nil, "buy (\w+)")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_pattern(nil, \"buy (\w+)\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_pattern("Sell cheese please", "buy (\w+)")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_pattern(\"Sell cheese please\", \"buy (\w+)\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_pattern("Buy cheese please", "buy (\w+)")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_pattern(\"Buy cheese please\", \"buy (\w+)\")"
end

has_phone(expression)

Testa se expresssion contém um número de telefone. O argumento opcional country_code especifica o país a ser usado na análise.

Exemplo 1: Testa se a expressão contém um número de telefone a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • phonenumber do tipo String quando usado com o seguinte contexto:
%{"expression" => %{"__value__" => "my number is +12067799294 thanks", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_phone(expression)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phone(expression)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • phonenumber do tipo Null.
card MyCard do
my_var = has_phone("+27", "ZA")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phone(\"+27\", \"ZA\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • phonenumber do tipo Null.
card MyCard do
my_var = has_phone("+27")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phone(\"+27\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • phonenumber do tipo Null.
card MyCard do
my_var = has_phone(nil, "US")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phone(nil, \"US\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

false

com os seguintes campos:

  • phonenumber do tipo Null.
card MyCard do
my_var = has_phone("my number is none of your business", "US")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phone(\"my number is none of your business\", \"US\")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • phonenumber do tipo String.
card MyCard do
my_var = has_phone("my number is 206 779 9294 thanks", "US")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phone(\"my number is 206 779 9294 thanks\", \"US\")"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • phonenumber do tipo String.
card MyCard do
my_var = has_phone("my number is 2067799294 thanks", "US")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phone(\"my number is 2067799294 thanks\", \"US\")"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • phonenumber do tipo String.
card MyCard do
my_var = has_phone("my number is +12067799294 thanks")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phone(\"my number is +12067799294 thanks\")"
end

has_phone(expression, country_code)


has_phrase(expression, phrase)

Testa se a frase está contida em expression

As palavras na frase de teste devem aparecer na mesma ordem, sem outras palavras intermediárias.

Exemplo 1: Testa se a expressão contém a frase a partir do valor nas chaves value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"expression" => %{"__value__" => "the quick brown fox", "display" => "value for display key", "value" => "value for value key"}, "phrase" => %{"__value__" => "brown fox", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_phrase(expression, phrase)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phrase(expression, phrase)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_phrase("the quick brown fox", "")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phrase(\"the quick brown fox\", \"\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_phrase("the quick brown fox", "quick fox")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phrase(\"the quick brown fox\", \"quick fox\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_phrase("the quick brown fox", "brown fox")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_phrase(\"the quick brown fox\", \"brown fox\")"
end

has_text(expression)

Testa se expression possui algum caractere

Exemplo 1: Testa se a expressão possui texto a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"expression" => %{"__value__" => "quick brown", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_text(expression)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_text(expression)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_text(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_text(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_text(123)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_text(123)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_text("
")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_text(\"
\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_text("")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_text(\"\")"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_text("quick brown")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_text(\"quick brown\")"
end

has_time(expression)

Testa se expression contém uma hora.

Exemplo 1: Testa se a expressão contém uma hora a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo Time quando usado com o seguinte contexto:
%{"expression" => %{"__value__" => "the time is 10:30", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_time(expression)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_time(expression)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = has_time("there is no time here, just the number 25")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_time(\"there is no time here, just the number 25\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo Time.
card MyCard do
my_var = has_time("the time is 10:30:45")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_time(\"the time is 10:30:45\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo Time.
card MyCard do
my_var = has_time("the time is 10:00 pm")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_time(\"the time is 10:00 pm\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • match do tipo Time.
card MyCard do
my_var = has_time("the time is 10:30")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_time(\"the time is 10:30\")"
end

html_to_markdown(html)

Faz o melhor esforço para converter um fragmento HTML em Markdown adequado para uso em uma conversa no WhatsApp

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "*hi*" quando usado com o seguinte contexto:

%{"html" => "<b>hi</b>"}
card MyCard do
my_var = html_to_markdown(html)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@html_to_markdown(html)"
end

left(binary, size)

Retorna os primeiros caracteres em uma string de texto. Isso é seguro para Unicode.

Retornará nil se a string fornecida for nil

Exemplo 1: Retorna os caracteres à esquerda a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foob" quando usado com o seguinte contexto:

%{"size" => %{"__value__" => 4, "display" => "value for display key", "value" => "value for value key"}, "value" => %{"__value__" => "foobar", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = left(value, size)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@left(value, size)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = left(nil, 4)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@left(nil, 4)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Умерла Мадлен Олбрай".

card MyCard do
my_var = left("Умерла Мадлен Олбрайт - первая женщина на посту главы Госдепа США", 20)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@left(\"Умерла Мадлен Олбрайт - первая женщина на посту главы Госдепа США\", 20)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foob".

card MyCard do
my_var = left("foobar", 4)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@left(\"foobar\", 4)"
end

len(binary)

Retorna o número de caracteres em uma string de texto, retorna 0 se a string for nula ou vazia

Exemplo 1: Retorna o comprimento a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3 quando usado com o seguinte contexto:

%{"value" => %{"__value__" => "foo", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = len(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@len(value)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0.

card MyCard do
my_var = len(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@len(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = len("zoë")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@len(\"zoë\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = len("foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@len(\"foo\")"
end

levenshtein_distance(first_phrase, second_phrase)

Calcula a distância de edição de Levenshtein.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = levenshtein_distance("shalom", "salaam")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@levenshtein_distance(\"shalom\", \"salaam\")"
end

lower(binary)

Converte uma string de texto para minúsculas

Exemplo 1: Retorna a string em minúsculas a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo bar" quando usado com o seguinte contexto:

%{"value" => %{"__value__" => "Foo Bar", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = lower(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@lower(value)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = lower(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@lower(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo bar".

card MyCard do
my_var = lower("Foo Bar")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@lower(\"Foo Bar\")"
end

mid(text, start_num, num_chars)

MID extrai parte de uma string, começando em uma posição especificada e por um comprimento especificado.

Ele lida corretamente com caracteres Unicode. Por exemplo, pegar os três primeiros caracteres de "héllo" retorna "hél".

Se a posição de início estiver além do comprimento da string, retornará uma string vazia.

Implementação baseada em https://support.microsoft.com/en-us/office/mid-function-2eba57be-0c05-4bdc-bf81-5ecf4421eb8a

Exemplo 1: Extrai a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Flow" quando usado com o seguinte contexto:

%{"num_chars" => %{"__value__" => 5, "display" => "value for display key", "value" => "value for value key"}, "start_num" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}, "value" => %{"__value__" => "Fluid Flow", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = mid(value, 7, 20)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@mid(value, 7, 20)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = MID("Fluid Flow", 20, 5)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@MID(\"Fluid Flow\", 20, 5)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Flow".

card MyCard do
my_var = MID("Fluid Flow", 7, 20)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@MID(\"Fluid Flow\", 7, 20)"
end

Exemplo 4: MID retorna um número específico de caracteres de uma string de texto, começando na posição que você especificar, com base no número de caracteres que você especificar.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Fluid".

card MyCard do
my_var = MID("Fluid", 1, 5)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@MID(\"Fluid\", 1, 5)"
end

normalise_text(phrase)

Normaliza o texto usando Unicode NFKC (Normalisation Form Compatibility Composition).

Aceita caracteres multibyte unicode e tenta normalizá-los.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "abcABC" quando usado com o seguinte contexto:

%{"phrase" => "abcABC"}
card MyCard do
my_var = normalise_text(phrase)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@normalise_text(phrase)"
end

normalise_whitespace(phrase)

Normaliza espaços em branco substituindo sequências de espaços por um único espaço

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world".

card MyCard do
my_var = normalise_whitespace("hello world")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@normalise_whitespace(\"hello world\")"
end

proper(binary)

Capitaliza a primeira letra de cada palavra em uma string de texto

Exemplo 1: Retorna a string com a primeira letra de cada palavra capitalizada a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Foo Bar" quando usado com o seguinte contexto:

%{"value" => %{"__value__" => "foo bar", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = proper(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@proper(value)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = proper(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@proper(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Foo Bar".

card MyCard do
my_var = proper("foo bar")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@proper(\"foo bar\")"
end

read_digits(binary)

Formata dígitos em texto para leitura em TTS

Exemplo 1: Retorna os dígitos lidos a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "plus two seven one" quando usado com o seguinte contexto:

%{"digits" => %{"__value__" => "+271", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = read_digits(digits)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@read_digits(digits)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = read_digits(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@read_digits(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "plus two seven one".

card MyCard do
my_var = read_digits("+271")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@read_digits(\"+271\")"
end

regex_capture(binary, pattern)

Captura valores de uma string usando um regex. Retorna a lista de capturas em uma lista. Retorna nil se não houver nada para corresponder

Exemplo 1: Retorna as capturas a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String:

[
"ing"
]

quando usado com o seguinte contexto:

%{"pattern" => %{"__value__" => "test(.+)", "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "testing", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = regex_capture(string, pattern)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@regex_capture(string, pattern)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = regex_capture("testing", "foo(.+)")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@regex_capture(\"testing\", \"foo(.+)\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String:

[
"ing"
]
card MyCard do
my_var = regex_capture("testing", "test(.+)")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@regex_capture(\"testing\", \"test(.+)\")"
end

regex_named_capture(binary, pattern)

Captura valores nomeados de uma string usando um regex. Diferentemente de regex_capture(), retorna um mapa onde as chaves são os nomes das capturas e os valores são os valores capturados.

Exemplo 1: Retorna as capturas a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"match": "ing"
}

quando usado com o seguinte contexto:

%{"pattern" => %{"__value__" => "test(?P<match>.+)", "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "testing", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = regex_named_capture(string, pattern)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@regex_named_capture(string, pattern)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map: {}.

card MyCard do
my_var = regex_named_capture("testing", "foo(?P<match>.+)")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@regex_named_capture(\"testing\", \"foo(?P<match>.+)\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"match": "ing"
}
card MyCard do
my_var = regex_named_capture("testing", "test(?P<match>.+)")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@regex_named_capture(\"testing\", \"test(?P<match>.+)\")"
end

remove_emojis(phrase)

Remove emojis de uma string. Substitui por um símbolo em vez de remover completamente para os seguintes emojis: 0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣ #️⃣ *️⃣ ©️ ®️

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "1.123".

card MyCard do
my_var = remove_emojis("1.123")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_emojis(\"1.123\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "1".

card MyCard do
my_var = remove_emojis("1")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_emojis(\"1\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "1 2 3 Turn loves you ".

card MyCard do
my_var = remove_emojis("1️⃣ 2️⃣ 3️⃣ Turn loves you ❤️")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_emojis(\"1️⃣ 2️⃣ 3️⃣ Turn loves you ❤️\")"
end

remove_first_word(binary)

Remove a primeira palavra do texto fornecido. O texto restante ficará inalterado

Exemplo 1: Retorna a string com a primeira palavra removida a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "bar" quando usado com o seguinte contexto:

%{"seperator" => %{"__value__" => "-", "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "foo-bar", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = remove_first_word(string, seperator)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_first_word(string, seperator)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = remove_first_word(nil, "-")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_first_word(nil, \"-\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = remove_first_word(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_first_word(nil)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "bar".

card MyCard do
my_var = remove_first_word("foo-bar", "-")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_first_word(\"foo-bar\", \"-\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "bar".

card MyCard do
my_var = remove_first_word("foo bar")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_first_word(\"foo bar\")"
end

remove_first_word(binary, separator)


remove_last_word(binary)

Exemplo 1: Retorna a string com a última palavra removida a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo" quando usado com o seguinte contexto:

%{"seperator" => %{"__value__" => "-", "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "foo-bar", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = remove_last_word(string, seperator)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_last_word(string, seperator)"
end

Exemplo 2: Remove a última palavra de uma lista de palavras, usando espaços como separador entre as palavras

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo".

card MyCard do
my_var = remove_last_word("foo bar")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_last_word(\"foo bar\")"
end

Exemplo 3: Remove a última palavra de uma lista de palavras, usando o separador especificado

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo".

card MyCard do
my_var = remove_last_word("foo-bar", "-")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_last_word(\"foo-bar\", \"-\")"
end

remove_last_word(binary, separator)


remove_numbers(phrase)

Remove números

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "counting down ".

card MyCard do
my_var = remove_numbers("counting down 3 2 1")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_numbers(\"counting down 3 2 1\")"
end

remove_punc(phrase)

Remove pontuação sem substituição

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world".

card MyCard do
my_var = remove_punc("hello? world!")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@remove_punc(\"hello? world!\")"
end

replace_punc(phrase)

Substitui sinais de pontuação por espaços

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world ".

card MyCard do
my_var = replace_punc("hello? world!")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@replace_punc(\"hello? world!\")"
end

rept(value, amount)

Repete o texto um determinado número de vezes

Exemplo 1: Retorna a string repetida a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "**********" quando usado com o seguinte contexto:

%{"amount" => %{"__value__" => 10, "display" => "value for display key", "value" => "value for value key"}, "value" => %{"__value__" => "*", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = rept(value, amount)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@rept(value, amount)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = rept(nil, 10)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@rept(nil, 10)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "**********".

card MyCard do
my_var = rept("*", 10)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@rept(\"*\", 10)"
end

right(binary, size)

Retorna os últimos caracteres em uma string de texto. Isso é seguro para Unicode.

Exemplo 1: Retorna os caracteres à direita a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "ing" quando usado com o seguinte contexto:

%{"size" => %{"__value__" => 3, "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "testing", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = right(string, size)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@right(string, size)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = right(nil, 3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@right(nil, 3)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "ту главы Госдепа США".

card MyCard do
my_var = right("Умерла Мадлен Олбрайт - первая женщина на посту главы Госдепа США", 20)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@right(\"Умерла Мадлен Олбрайт - первая женщина на посту главы Госдепа США\", 20)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "ing".

card MyCard do
my_var = right("testing", 3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@right(\"testing\", 3)"
end

split(binary)

Divide uma string em um array usando o padrão como separador. Por padrão, divide a string usando um espaço.

Exemplo 1: Divide a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String, String:

[
"t",
"sting som",
"thing"
]

quando usado com o seguinte contexto:

%{"pattern" => %{"__value__" => "e", "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "testing something", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = split(string, pattern)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@split(string, pattern)"
end

Exemplo 2: Divide a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String:

[
"testing",
"something"
]

quando usado com o seguinte contexto:

%{"string" => %{"__value__" => "testing something", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = split(string)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@split(string)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String, String:

[
"t",
"sting som",
"thing"
]
card MyCard do
my_var = split("testing something", "e")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@split(\"testing something\", \"e\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String:

[
"testing",
"something"
]
card MyCard do
my_var = split("testing something")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@split(\"testing something\")"
end

split(binary, pattern)


substitute(subject, pattern, replacement)

Substitui new_text por old_text em uma string de texto. Se instance_num for fornecido, somente essa instância será substituída

Exemplo 1: Retorna a string substituída a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "I can do" quando usado com o seguinte contexto:

%{"pattern" => %{"__value__" => "can't", "display" => "value for display key", "value" => "value for value key"}, "replacement" => %{"__value__" => "can do", "display" => "value for display key", "value" => "value for value key"}, "subject" => %{"__value__" => "I can't", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = substitute(subject, pattern, replacement)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@substitute(subject, pattern, replacement)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = substitute(nil, "can't", "can do")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@substitute(nil, \"can't\", \"can do\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "I can do".

card MyCard do
my_var = substitute("I can't", "can't", "can do")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@substitute(\"I can't\", \"can't\", \"can do\")"
end

text(value)

Converte um valor em uma string.

Números, booleanos, datas e outros valores são convertidos em sua representação em string. Nil torna-se uma string vazia.

Exemplo 1: Converte a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "42" quando usado com o seguinte contexto:

%{"value" => %{"__value__" => 42, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = text(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@text(value)"
end

Exemplo 2: Uma string é retornada como está

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello".

card MyCard do
my_var = text("hello")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@text(\"hello\")"
end

Exemplo 3: Converte nil em uma string vazia

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = text(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@text(nil)"
end

Exemplo 4: Converte um booleano em uma string

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "true".

card MyCard do
my_var = text(true)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@text(true)"
end

Exemplo 5: Converte um float em uma string

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "3.14".

card MyCard do
my_var = text(3.14)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@text(3.14)"
end

Exemplo 6: Converte um inteiro em uma string

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "5".

card MyCard do
my_var = text(5)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@text(5)"
end

unichar(code)

Retorna o caractere unicode especificado por um número

Exemplo 1: Retorna o caractere unicode a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "é" quando usado com o seguinte contexto:

%{"code" => %{"__value__" => 233, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = unichar(code)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@unichar(code)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "é".

card MyCard do
my_var = unichar(233)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@unichar(233)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "A".

card MyCard do
my_var = unichar(65)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@unichar(65)"
end

unicode(letter)

Retorna um código numérico para o primeiro caractere em uma string de texto

Exemplo 1: Retorna o código unicode a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 233 quando usado com o seguinte contexto:

%{"char" => %{"__value__" => "é", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = unicode(char)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@unicode(char)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 233.

card MyCard do
my_var = unicode("é")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@unicode(\"é\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 65.

card MyCard do
my_var = unicode("A")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@unicode(\"A\")"
end

upper(binary)

Converte uma string de texto em maiúsculas

Exemplo 1: Retorna a string em maiúsculas a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "FOO" quando usado com o seguinte contexto:

%{"string" => %{"__value__" => "foo", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = upper(string)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@upper(string)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = upper(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@upper(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "FOO".

card MyCard do
my_var = upper("foo")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@upper(\"foo\")"
end

url_decode(thing)

Faz a decodificação de uma expressão em URL

Exemplo 1: Retorna a string decodificada de URL a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world" quando usado com o seguinte contexto:

%{"url" => %{"__value__" => "hello%20world", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = url_decode(url)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@url_decode(url)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello world".

card MyCard do
my_var = url_decode("hello%20world")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@url_decode(\"hello%20world\")"
end

url_encode(thing)

Faz a codificação de uma expressão em URL

Exemplo 1: Codifica um inteiro em URL a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "1" quando usado com o seguinte contexto:

%{"number" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = url_encode(number)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@url_encode(number)"
end

Exemplo 2: Retorna a string codificada em URL a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello%20world" quando usado com o seguinte contexto:

%{"url" => %{"__value__" => "hello world", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = url_encode(url)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@url_encode(url)"
end

Exemplo 3: Codifica uma data em URL convertendo-a primeiro em uma string.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "2024-01-15" quando usado com o seguinte contexto:

%{"date" => ~D[2024-01-15]}
card MyCard do
my_var = url_encode(date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@url_encode(date)"
end

Exemplo 4: Codificar nil em URL retorna uma string vazia.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = url_encode(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@url_encode(nil)"
end

Exemplo 5: Codifica um booleano em URL convertendo-o primeiro em uma string.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "true".

card MyCard do
my_var = url_encode(true)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@url_encode(true)"
end

Exemplo 6: Codifica um float em URL convertendo-o primeiro em uma string.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "3.14".

card MyCard do
my_var = url_encode(3.14)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@url_encode(3.14)"
end

Exemplo 7: Codifica um inteiro em URL convertendo-o primeiro em uma string.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "42".

card MyCard do
my_var = url_encode(42)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@url_encode(42)"
end

Exemplo 8:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "hello%20world".

card MyCard do
my_var = url_encode("hello world")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@url_encode(\"hello world\")"
end

word(binary, n)

Extrai a n-ésima palavra da string de texto fornecida. Se stop for um número negativo, ele é interpretado como contando de trás para frente a partir do final do texto. Se by_spaces for especificado e for true, então a função divide o texto em palavras apenas por espaços. Caso contrário, o texto é dividido também por caracteres de pontuação

Exemplo 1: Retorna a n-ésima palavra a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "cow" quando usado com o seguinte contexto:

%{"n" => %{"__value__" => 2, "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "hello cow-boy", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = word(string, n)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word(string, n)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = word(nil, 1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word(nil, 1)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "boy".

card MyCard do
my_var = word("hello cow-boy", -1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word(\"hello cow-boy\", -1)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "cow-boy".

card MyCard do
my_var = word("hello cow-boy", 2, true)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word(\"hello cow-boy\", 2, true)"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "cow".

card MyCard do
my_var = word("hello cow-boy", 2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word(\"hello cow-boy\", 2)"
end

word(binary, n, by_spaces)


word_count(binary)

Retorna o número de palavras na string de texto fornecida. Se by_spaces for especificado e for true, então a função divide o texto em palavras apenas por espaços. Caso contrário, o texto também é dividido por caracteres de pontuação

> You entered @word_count("one two three") words
You entered 3 words

Exemplo 1: Retorna a contagem de palavras a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 2 quando usado com o seguinte contexto:

%{"by_spaces" => %{"__value__" => true, "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "hello cow-boy", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = word_count(string, by_spaces)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word_count(string, by_spaces)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0.

card MyCard do
my_var = word_count(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word_count(nil)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 2.

card MyCard do
my_var = word_count("hello cow-boy", true)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word_count(\"hello cow-boy\", true)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = word_count("hello cow-boy")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word_count(\"hello cow-boy\")"
end

word_count(binary, by_spaces)


word_slice(binary, start)

Extrai um substring das palavras começando em start, até (mas não incluindo) stop. Se stop não for fornecido, então o substring conterá todas as palavras de start até o final do texto. Se stop for um número negativo, então ele é interpretado como contando de trás para frente a partir do final do texto. Se by_spaces for especificado e for true, então a função divide o texto em palavras apenas por espaços. Caso contrário, o texto também é dividido por caracteres de pontuação

Exemplo 1: Retorna o slice de palavras a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "expressions are" quando usado com o seguinte contexto:

%{"start" => %{"__value__" => 2, "display" => "value for display key", "value" => "value for value key"}, "stop" => %{"__value__" => 4, "display" => "value for display key", "value" => "value for value key"}, "string" => %{"__value__" => "FLOIP expressions are fun", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = word_slice(string, start, stop)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word_slice(string, start, stop)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "".

card MyCard do
my_var = word_slice(nil, -1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word_slice(nil, -1)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "fun".

card MyCard do
my_var = word_slice("FLOIP expressions are fun", -1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word_slice(\"FLOIP expressions are fun\", -1)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "FLOIP expressions".

card MyCard do
my_var = word_slice("FLOIP expressions are fun", 1, -2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word_slice(\"FLOIP expressions are fun\", 1, -2)"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "expressions are fun".

card MyCard do
my_var = word_slice("FLOIP expressions are fun", 2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word_slice(\"FLOIP expressions are fun\", 2)"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "expressions are".

card MyCard do
my_var = word_slice("FLOIP expressions are fun", 2, 4)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@word_slice(\"FLOIP expressions are fun\", 2, 4)"
end

word_slice(binary, start, stop)


word_slice(binary, start, stop, by_spaces)


Number

abs(number)

Retorna o valor absoluto de um número.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 0.5 quando usado com o seguinte contexto:

%{"number" => %{"__value__" => -0.5, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = abs(number)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@abs(number)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 0.5.

card MyCard do
my_var = abs(-0.5)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@abs(-0.5)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1.

card MyCard do
my_var = abs(-1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@abs(-1)"
end

fixed(number, precision)

Formata o número fornecido em formato decimal usando ponto e vírgulas.

> You have @fixed(contact.balance, 2) in your account
"You have 4.21 in your account"

Exemplo 1: Formata a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "4.21" quando usado com o seguinte contexto:

%{"no_commas" => %{"__value__" => false, "display" => "value for display key", "value" => "value for value key"}, "number" => %{"__value__" => 4.209922, "display" => "value for display key", "value" => "value for value key"}, "precision" => %{"__value__" => 2, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = fixed(number, precision, no_commas)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@fixed(number, precision, no_commas)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "0.09".

card MyCard do
my_var = fixed(0.0909, 2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@fixed(0.0909, 2)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "3.80".

card MyCard do
my_var = fixed(3.7979, 2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@fixed(3.7979, 2)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "3.80".

card MyCard do
my_var = fixed(3.7979, 2, false)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@fixed(3.7979, 2, false)"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "4000.4242".

card MyCard do
my_var = fixed(4000.424242, 4, true)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@fixed(4000.424242, 4, true)"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "4.21".

card MyCard do
my_var = fixed(4.209922, 2, false)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@fixed(4.209922, 2, false)"
end

fixed(number, precision, no_commas)


int(value)

Converte um valor em um inteiro.

Strings são convertidas em inteiros, floats são truncados, booleanos se tornam 1 ou 0, e nil se torna 0.

Retorna um mapa de erro se o valor não puder ser convertido.

Exemplo 1: Converte a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 42 quando usado com o seguinte contexto:

%{"value" => %{"__value__" => "42", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = int(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@int(value)"
end

Exemplo 2: Retorna um erro para strings não numéricas

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo Null de valor padrão:

null

com os seguintes campos:

  • type do tipo String
  • error do tipo Boolean
  • message do tipo String.
card MyCard do
my_var = int("abc")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@int(\"abc\")"
end

Exemplo 3: Converte nil em 0

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0.

card MyCard do
my_var = int(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@int(nil)"
end

Exemplo 4: Converte false em 0

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0.

card MyCard do
my_var = int(false)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@int(false)"
end

Exemplo 5: Converte um booleano em um inteiro

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1.

card MyCard do
my_var = int(true)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@int(true)"
end

Exemplo 6: Trunca um float em um inteiro

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 5.

card MyCard do
my_var = int(5.7)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@int(5.7)"
end

Exemplo 7: Converte uma string em um inteiro

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 5.

card MyCard do
my_var = int("5")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@int(\"5\")"
end

max(argument1, argument2, argument3)

Retorna o valor máximo de todos os argumentos.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 4 quando usado com o seguinte contexto:

%{"value1" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}, "value2" => %{"__value__" => 4, "display" => "value for display key", "value" => "value for value key"}, "value3" => %{"__value__" => 2, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = max(value1, value2, value3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@max(value1, value2, value3)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = max(1, 2, 3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@max(1, 2, 3)"
end

min(argument1, argument2, argument3)

Retorna o valor mínimo de todos os argumentos.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1 quando usado com o seguinte contexto:

%{"value1" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}, "value2" => %{"__value__" => 4, "display" => "value for display key", "value" => "value for value key"}, "value3" => %{"__value__" => 2, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = min(value1, value2, value3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@min(value1, value2, value3)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1.

card MyCard do
my_var = min(1, 2, 3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@min(1, 2, 3)"
end

number(value)

Converte um valor em um número de ponto flutuante.

Strings são convertidas em floats, inteiros são promovidos, booleanos se tornam 1.0 ou 0.0, e nil se torna 0.0.

Retorna um mapa de erro se o valor não puder ser convertido.

Exemplo 1: Converte a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 3.14 quando usado com o seguinte contexto:

%{"value" => %{"__value__" => "3.14", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = number(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@number(value)"
end

Exemplo 2: Retorna um erro para strings não numéricas

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo Null de valor padrão:

null

com os seguintes campos:

  • type do tipo String
  • error do tipo Boolean
  • message do tipo String.
card MyCard do
my_var = number("abc")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@number(\"abc\")"
end

Exemplo 3: Converte nil em um número

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0.

card MyCard do
my_var = number(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@number(nil)"
end

Exemplo 4: Converte um booleano em um float

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 1.0.

card MyCard do
my_var = number(true)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@number(true)"
end

Exemplo 5: Converte um inteiro em um float

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 5.0.

card MyCard do
my_var = number(5)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@number(5)"
end

Exemplo 6: Converte uma string de inteiro em um float

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 5.0.

card MyCard do
my_var = number("5")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@number(\"5\")"
end

Exemplo 7: Converte uma string em um float

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 5.5.

card MyCard do
my_var = number("5.5")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@number(\"5.5\")"
end

parse_float(number)


parse_float(binary)


percent(float)

Formata um número como uma porcentagem.

Exemplo 1: Retorna a porcentagem a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "20%" quando usado com o seguinte contexto:

%{"number" => %{"__value__" => 0.2, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = percent(number)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@percent(number)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "20%" quando usado com o seguinte contexto:

%{"d" => "0.2"}
card MyCard do
my_var = percent(d)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@percent(d)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "20%".

card MyCard do
my_var = percent(0.2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@percent(0.2)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "20%".

card MyCard do
my_var = percent(2/10)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@percent(2/10)"
end

power(a, b)

Retorna o resultado de um número elevado a uma potência — equivalente ao operador ^.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 8.0 quando usado com o seguinte contexto:

%{"number" => %{"__value__" => 2, "display" => "value for display key", "value" => "value for value key"}, "power" => %{"__value__" => 3, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = power(number, power)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@power(number, power)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Float: 8.0.

card MyCard do
my_var = power(2, 3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@power(2, 3)"
end

rand_between(min, max)

Gera um número aleatório entre min e max.

Exemplo 1: Gera um número entre min e max a partir do valor nas chaves value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 2 quando usado com o seguinte contexto:

%{"max" => %{"__value__" => 10, "display" => "value for display key", "value" => "value for value key"}, "min" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = rand_between(min, max)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@rand_between(min, max)"
end

Exemplo 2: Gera um número entre 1 e 10

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 5.

card MyCard do
my_var = rand_between(1, 10)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@rand_between(1, 10)"
end

rem(integer1, integer2)

Retorna o resto da divisão de dois inteiros.

Exemplo 1: Retorna o resto da divisão de dois inteiros a partir do valor nas chaves value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0 quando usado com o seguinte contexto:

%{"int1" => %{"__value__" => 4, "display" => "value for display key", "value" => "value for value key"}, "int2" => %{"__value__" => 2, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = rem(int1, int2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@rem(int1, int2)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1.

card MyCard do
my_var = rem(85, 3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@rem(85, 3)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0.

card MyCard do
my_var = rem(4, 2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@rem(4, 2)"
end

round(value)

Exemplo 1: Arredonda a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "23.78" quando usado com o seguinte contexto:

%{"digits" => %{"__value__" => 2, "display" => "value for display key", "value" => "value for value key"}, "value" => %{"__value__" => 23.7825, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = round(value, digits)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@round(value, digits)"
end

Exemplo 2: A função ROUND arredonda um número para um número específico de dígitos. Por exemplo, se a célula A1 contiver 23.7825 e você quiser arredondar esse valor para zero casas decimais, pode usar ROUND(23.7825)

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "24".

card MyCard do
my_var = ROUND(23.7825)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@ROUND(23.7825)"
end

Exemplo 3: A função ROUND arredonda um número para um número específico de dígitos. Por exemplo, se a célula A1 contiver 23.7825 e você quiser arredondar esse valor para duas casas decimais, pode usar ROUND(23.7825, 2)

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "23.78".

card MyCard do
my_var = ROUND(23.7825, 2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@ROUND(23.7825, 2)"
end

round(value, places)


sum(argument1, argument2, argument3)

Retorna a soma de todos os argumentos, equivalente ao operador +.

You have @SUM(contact.reports, contact.forms) reports and forms

Exemplo 1: Soma a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 6 quando usado com o seguinte contexto:

%{"val1" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}, "val2" => %{"__value__" => 2, "display" => "value for display key", "value" => "value for value key"}, "val3" => %{"__value__" => 3, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = sum(val1, val2, val3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@sum(val1, val2, val3)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 6.

card MyCard do
my_var = sum(1, 2, 3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@sum(1, 2, 3)"
end

Data

date(year, month, day)

Define um novo valor de data.

Exemplo 1: Constrói a data a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2025-01-15" quando usado com o seguinte contexto:

%{"day" => %{"__value__" => 15, "display" => "value for display key", "value" => "value for value key"}, "month" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}, "year" => %{"__value__" => 2025, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = date(year, month, day)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@date(year, month, day)"
end

Exemplo 2: Entradas de data inválidas

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo Null de valor padrão:

null

com os seguintes campos:

  • type do tipo String
  • error do tipo Boolean
  • message do tipo String quando usado com o seguinte contexto:
%{}
card MyCard do
my_var = date(nil, nil, nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@date(nil, nil, nil)"
end

Exemplo 3: Constrói uma data a partir de inteiros para ano, mês e dia

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2022-01-31" quando usado com o seguinte contexto:

%{"day" => 31, "month" => 1, "year" => 2022}
card MyCard do
my_var = date(year, month, day)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@date(year, month, day)"
end

datetime_add(datetime, offset, unit)

Calcula uma nova data/hora com base no deslocamento e na unidade fornecida.

A unidade pode ser qualquer um dos seguintes valores:

  • "Y" para anos
  • "M" para meses
  • "W" para semanas
  • "D" para dias
  • "h" para horas
  • "m" para minutos
  • "s" para segundos

Especificar um deslocamento negativo resulta em cálculos de data voltados para o passado.

Exemplo 1: Calcula a data a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2022-08-31T00:00:00Z" quando usado com o seguinte contexto:

%{"datetime" => %{"__value__" => ~U[2022-07-31 00:00:00Z], "display" => "value for display key", "value" => "value for value key"}, "offset" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}, "unit" => %{"__value__" => "M", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = datetime_add(datetime, offset, unit)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add(datetime, offset, unit)"
end

Exemplo 2: Entradas de data inválidas

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo Null de valor padrão:

null

com os seguintes campos:

  • type do tipo String
  • error do tipo Boolean
  • message do tipo String quando usado com o seguinte contexto:
%{}
card MyCard do
my_var = datetime_add("_..[0]._", 0, "h")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add(\"_..[0]._\", 0, \"h\")"
end

Exemplo 3: Deslocamentos negativos

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2020-02-28T00:00:00.000000Z".

card MyCard do
my_var = datetime_add(date(2020, 02, 29), -1, "D")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add(date(2020, 02, 29), -1, \"D\")"
end

Exemplo 4: Tratamento de ano bissexto fora de um ano bissexto.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2021-03-01T00:00:00.000000Z".

card MyCard do
my_var = datetime_add(date(2021, 02, 28), 1, "D")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add(date(2021, 02, 28), 1, \"D\")"
end

Exemplo 5: Tratamento de ano bissexto em um ano bissexto.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2020-02-29T00:00:00.000000Z".

card MyCard do
my_var = datetime_add(date(2020, 02, 28), 1, "D")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add(date(2020, 02, 28), 1, \"D\")"
end

Exemplo 6: Calcula uma nova data/hora com base no deslocamento e na unidade fornecida.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2022-08-31T00:00:00Z" quando usado com o seguinte contexto:

%{"datetime" => ~U[2022-07-31 00:00:00Z], "offset" => 1, "unit" => "M"}
card MyCard do
my_var = datetime_add(datetime, offset, unit)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_add(datetime, offset, unit)"
end

datetime_from_unix(unix, unit)

Analisa um horário UNIX e retorna um DateTime

Exemplo 1: Analisa a data a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-12-06T23:00:00.000Z" quando usado com o seguinte contexto:

%{"unit" => %{"__value__" => "millisecond", "display" => "value for display key", "value" => "value for value key"}, "unix_time" => %{"__value__" => "1701903600000", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = datetime_from_unix(unix_time, unit)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_from_unix(unix_time, unit)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-12-06T23:00:00Z" quando usado com o seguinte contexto:

%{}
card MyCard do
my_var = datetime_from_unix("1701903600", "second")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_from_unix(\"1701903600\", \"second\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-12-06T23:00:00.000Z" quando usado com o seguinte contexto:

%{}
card MyCard do
my_var = datetime_from_unix(1701903600000, "millisecond")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_from_unix(1701903600000, \"millisecond\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-12-06T23:00:00.000Z" quando usado com o seguinte contexto:

%{}
card MyCard do
my_var = datetime_from_unix("1701903600000", "millisecond")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_from_unix(\"1701903600000\", \"millisecond\")"
end

datetime_next(desired_day, time, base_date)

Calcula uma nova data/hora com base em uma data base, um dia desejado e um horário desejado.

Exemplo 1: Desloca uma data/hora para a próxima ocorrência de um determinado dia da semana e um horário definido.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-02-06T10:00:00-03:00" quando usado com o seguinte contexto:

%{"base_date" => ~U[2023-02-03 20:18:03Z], "contact" => %{"whatsapp_id" => "552197295926"}}
card MyCard do
my_var = datetime_next("monday", "10:00", base_date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_next(\"monday\", \"10:00\", base_date)"
end

Exemplo 2: Se o dia da semana for o mesmo que a data base e depois da hora-alvo, a próxima ocorrência será 7 dias depois.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-02-09T10:30:00-03:00" quando usado com o seguinte contexto:

%{"base_date" => ~U[2023-02-02 20:18:03Z], "contact" => %{"whatsapp_id" => "552197295926"}}
card MyCard do
my_var = datetime_next("thursday", "10:30", base_date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_next(\"thursday\", \"10:30\", base_date)"
end

Exemplo 3: Se o dia da semana for o mesmo que a data base, mas ainda antes do horário de destino, retornará o mesmo dia em vez de deslocar uma semana inteira.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2023-02-02T10:30:00-03:00" quando usado com o seguinte contexto:

%{"base_date" => ~U[2023-02-02 08:08:08Z], "contact" => %{"whatsapp_id" => "552197295926"}}
card MyCard do
my_var = datetime_next("thursday", "10:30", base_date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_next(\"thursday\", \"10:30\", base_date)"
end

datetime_next(desired_day, time)

Calcula uma nova data/hora com base na data e hora de hoje, um dia desejado e um horário desejado.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2026-08-22T13:45:00-03:00" quando usado com o seguinte contexto:

%{"contact" => %{"whatsapp_id" => "552197295926"}}
card MyCard do
my_var = datetime_next("saturday", "13:45")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datetime_next(\"saturday\", \"13:45\")"
end

datevalue(date, format)

Converte uma data armazenada em texto em um objeto de data real e a formata usando a formatação de strftime.

Usará "%Y-%m-%d %H:%M:%S" se nenhum formato for fornecido.

Exemplo 1: Converte a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2022-01-01" quando usado com o seguinte contexto:

%{"date" => %{"__value__" => "2022-01-01", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = datevalue(date).date
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datevalue(date).date"
end

Exemplo 2: Converte um valor de data e lê o campo de data

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2022-01-01".

card MyCard do
my_var = datevalue(date(2022, 1, 1)).date
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datevalue(date(2022, 1, 1)).date"
end

Exemplo 3: Converte uma data de um trecho de texto e lê o campo de data

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2022-01-01".

card MyCard do
my_var = datevalue("2022-01-01").date
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datevalue(\"2022-01-01\").date"
end

Exemplo 4: Converte uma data de um trecho de texto para uma string de data formatada

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo String de valor padrão:

"2022-01-01 00:00:00"

com os seguintes campos:

  • date do tipo Date
  • datetime do tipo DateTime.
card MyCard do
my_var = datevalue("2022-01-01")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datevalue(\"2022-01-01\")"
end

datevalue(date)


day(date)

Retorna apenas o dia do mês de uma data (1 a 31).

Exemplo 1: Retorna o dia a partir da data na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 29 quando usado com o seguinte contexto:

%{"date" => %{"__value__" => ~U[2016-02-29 22:25:00Z], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = day(date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@day(date)"
end

Exemplo 2: Obter o dia do mês de hoje

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 18.

card MyCard do
my_var = day(now())
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@day(now())"
end

Exemplo 3: Obter o dia do mês de hoje

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 10.

card MyCard do
my_var = day(date(2022, 9, 10))
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@day(date(2022, 9, 10))"
end

edate(date, months)

Desloca uma data pelo número de meses fornecido.

Exemplo 1: Desloca a data a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2022-11-10" quando usado com o seguinte contexto:

%{"date" => %{"__value__" => "2022-10-10", "display" => "value for display key", "value" => "value for value key"}, "months" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = edate(date, months)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@edate(date, months)"
end

Exemplo 2: Desloca a data armazenada em um trecho de texto em 1 mês

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2022-11-10".

card MyCard do
my_var = edate("2022-10-10", 1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@edate(\"2022-10-10\", 1)"
end

Exemplo 3: Desloca a data em um objeto de data em 1 mês

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2022-02-01T00:00:00Z" quando usado com o seguinte contexto:

%{right_now: ~U[2022-01-01 00:00:00Z]}
card MyCard do
my_var = edate(right_now, 1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@edate(right_now, 1)"
end

hour(date)

Retorna apenas a hora de um datetime (0 a 23)

Exemplo 1: Obtém a hora a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3 quando usado com o seguinte contexto:

%{"date" => %{"__value__" => ~U[2022-07-31 03:00:00Z], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = hour(date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@hour(date)"
end

Exemplo 2: Obter a hora atual

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 13.

card MyCard do
my_var = hour(now())
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@hour(now())"
end

minute(date)

Retorna apenas o minuto de um datetime (0 a 59).

Exemplo 1: Obtém o minuto a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 23 quando usado com o seguinte contexto:

%{"date" => %{"__value__" => ~U[2022-07-31 03:23:00Z], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = minute(date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@minute(date)"
end

Exemplo 2: Obter o minuto atual

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 19.

card MyCard do
my_var = minute(now())
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@minute(now())"
end

month(date)

Retorna apenas o mês de uma data (1 a 12).

Exemplo 1: Obtém o mês a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 7 quando usado com o seguinte contexto:

%{"date" => %{"__value__" => ~U[2022-07-31 03:23:00Z], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = month(date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@month(date)"
end

Exemplo 2: Obter o mês atual

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 8.

card MyCard do
my_var = month(now())
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@month(now())"
end

now()

Retorna a data e hora atuais como UTC.

It is currently @NOW()

Exemplo 1: retorna a data/hora atual e a formata usando datevalue

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo String de valor padrão:

"2026-08-18"

com os seguintes campos:

  • date do tipo Date
  • datetime do tipo DateTime.
card MyCard do
my_var = datevalue(now(), "%Y-%m-%d")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@datevalue(now(), \"%Y-%m-%d\")"
end

Exemplo 2: retorna o timestamp atual como um valor DateTime

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2026-08-18T13:19:04.458827Z".

card MyCard do
my_var = now()
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@now()"
end

parse_datevalue(datetime, format)

Analisa datas e horários variados com padrões strftime e retorna um valor DateTime quando corresponde.

Exemplo 1: Analisa o valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2016-02-29T22:25:00Z" quando usado com o seguinte contexto:

%{"datetime" => %{"__value__" => "2016-02-29T22:25:00-00:00", "display" => "value for display key", "value" => "value for value key"}, "format" => %{"__value__" => "%FT%T%:z", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = parse_datevalue(datetime, format)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@parse_datevalue(datetime, format)"
end

Exemplo 2: Tenta analisar um valor de data e retorna nil em caso de falha

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Null: null.

card MyCard do
my_var = parse_datevalue("👻👻👻👻", "%FT%T%:z")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@parse_datevalue(\"👻👻👻👻\", \"%FT%T%:z\")"
end

Exemplo 3: Analisa um valor de data usando a formatação strftime e retorna um DateTime

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo DateTime: "2016-02-29T22:25:00Z".

card MyCard do
my_var = parse_datevalue("2016-02-29T22:25:00-00:00", "%FT%T%:z")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@parse_datevalue(\"2016-02-29T22:25:00-00:00\", \"%FT%T%:z\")"
end

second(date)

Retorna apenas o segundo de um datetime (0 a 59)

Exemplo 1: Obtém o segundo a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 15 quando usado com o seguinte contexto:

%{"date" => %{"__value__" => ~U[2022-07-31 03:23:15Z], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = second(date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@second(date)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 11 quando usado com o seguinte contexto:

%{"now" => ~U[2026-08-13 19:41:11.142095Z]}
card MyCard do
my_var = second(now)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@second(now)"
end

time(hours, minutes, seconds)

Define um valor de hora que pode ser usado em cálculos de tempo

Exemplo 1: Cria uma hora a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Time: "12:13:14" quando usado com o seguinte contexto:

%{"hour" => %{"__value__" => 12, "display" => "value for display key", "value" => "value for value key"}, "minute" => %{"__value__" => 13, "display" => "value for display key", "value" => "value for value key"}, "second" => %{"__value__" => 14, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = time(hour, minute, second)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@time(hour, minute, second)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Time: "12:13:14".

card MyCard do
my_var = time(12, 13, 14)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@time(12, 13, 14)"
end

timevalue(expression)

Converte uma hora armazenada em texto em uma hora real

Exemplo 1: Cria uma hora a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Time: "02:30:00" quando usado com o seguinte contexto:

%{"time" => %{"__value__" => "2:30", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = timevalue(time)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@timevalue(time)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Time: "02:30:55".

card MyCard do
my_var = timevalue("2:30:55")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@timevalue(\"2:30:55\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Time: "02:30:00".

card MyCard do
my_var = timevalue("2:30")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@timevalue(\"2:30\")"
end

today()

Retorna a data atual

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Date: "2026-08-18".

card MyCard do
my_var = today()
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@today()"
end

weekday(date)

Retorna o dia da semana de uma data (1 para domingo até 7 para sábado).

Exemplo 1: Retorna o dia da semana a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1 quando usado com o seguinte contexto:

%{"date" => %{"__value__" => ~D[2022-11-06], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = weekday(date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@weekday(date)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3 quando usado com o seguinte contexto:

%{"today" => ~D[2022-11-01]}
card MyCard do
my_var = weekday(today)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@weekday(today)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1 quando usado com o seguinte contexto:

%{"today" => ~D[2022-11-06]}
card MyCard do
my_var = weekday(today)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@weekday(today)"
end

year(date)

Retorna apenas o ano de uma data.

Exemplo 1: Retorna o ano a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 2022 quando usado com o seguinte contexto:

%{"date" => %{"__value__" => ~D[2022-11-06], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = year(date)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@year(date)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 2026 quando usado com o seguinte contexto:

%{"now" => ~U[2026-08-13 19:41:11.144458Z]}
card MyCard do
my_var = year(now)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@year(now)"
end

Enum

append(list, payload)

Anexa um item ou uma lista de itens a uma lista fornecida.

Exemplo 1: Anexa um item ou uma lista de itens a uma lista fornecida a partir das chaves value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String, String:

[
"A",
"B",
"C"
]

quando usado com o seguinte contexto:

%{"list" => %{"__value__" => ["A", "B"], "display" => "value for display key", "value" => "value for value key"}, "payload" => %{"__value__" => "C", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = append(list, payload)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@append(list, payload)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String, String, String:

[
"A",
"B",
"C",
"B"
]
card MyCard do
my_var = append(["A", "B"], ["C", "B"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@append([\"A\", \"B\"], [\"C\", \"B\"])"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String, String:

[
"A",
"B",
"C"
]
card MyCard do
my_var = append(["A", "B"], "C")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@append([\"A\", \"B\"], \"C\")"
end

chunk_every(enumerable, count)

Divide uma lista em várias listas menores.

Isso é útil em casos onde há uma lista grande, mas se deseja processá-la em pedaços menores.

Exemplo 1: Divide o enum na chave value se um valor complexo for fornecido.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values List with values String, String, String, List with values String, String:

[
[
"the first sentence",
"the second sentence",
"the third sentence"
],
[
"the fourth sentence",
"the fifth sentence"
]
]

quando usado com o seguinte contexto:

%{"complex" => %{"__value__" => ["the first sentence", "the second sentence", "the third sentence", "the fourth sentence", "the fifth sentence"], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = chunk_every(complex, 3)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@chunk_every(complex, 3)"
end

Exemplo 2: Se um valor inválido e não enumerável for passado, retorna um erro

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo Null de valor padrão:

null

com os seguintes campos:

  • type do tipo String
  • error do tipo Boolean
  • message do tipo String.
card MyCard do
my_var = chunk_every(nil, 2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@chunk_every(nil, 2)"
end

Exemplo 3: Divide um grande conjunto de frases em um conjunto menor de frases.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values List with values String, String, List with values String, String, List with values String:

[
[
"the first sentence",
"the second sentence"
],
[
"the third sentence",
"the fourth sentence"
],
[
"the fifth sentence"
]
]

quando usado com o seguinte contexto:

%{"sentences" => ["the first sentence", "the second sentence", "the third sentence", "the fourth sentence", "the fifth sentence"]}
card MyCard do
my_var = chunk_every(sentences, 2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@chunk_every(sentences, 2)"
end

count(term)

Retorna o número de entradas em uma lista, string ou mapa.

Exemplo 1: Conta o valor na chave value se um valor complexo for fornecido.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 23 quando usado com o seguinte contexto:

%{"enum" => %{"__value__" => "value for __value__ key", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = count(enum)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@count(enum)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 0 quando usado com o seguinte contexto:

%{"nil_value" => nil}
card MyCard do
my_var = count(nil_value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@count(nil_value)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 1 quando usado com o seguinte contexto:

%{"map" => %{"foo" => "bar"}}
card MyCard do
my_var = count(map)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@count(map)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = count("zoë")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@count(\"zoë\")"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 3.

card MyCard do
my_var = count([1, 2, 3])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@count([1, 2, 3])"
end

delete(map, key)

Exclui um elemento de um mapa pela chave fornecida.

Exemplo 1: Exclui um elemento de um mapa pela chave fornecida a partir das chaves value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"age": 32
}

quando usado com o seguinte contexto:

%{"key" => %{"__value__" => "gender", "display" => "value for display key", "value" => "value for value key"}, "map" => %{"__value__" => %{"age" => 32, "gender" => "?"}, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = delete(map, key)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@delete(map, key)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"age": 32
}

quando usado com o seguinte contexto:

%{"patient" => %{"age" => 32, "gender" => "?"}}
card MyCard do
my_var = delete(patient, "gender")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@delete(patient, \"gender\")"
end

filter(enumerable, filter_fun)

Filtra uma lista retornando uma nova lista que contém apenas os elementos para os quais filter_fun é verdadeiro.

Exemplo 1: Filtra a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String:

[
"B",
"B"
]

quando usado com o seguinte contexto:

%{"list" => %{"__value__" => ["A", "B", "C", "B"], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = filter(list, & &1 == "B")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@filter(list, & &1 == \"B\")"
end

Exemplo 2: Se um valor inválido e não enumerável for passado, retorna um erro

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo Null de valor padrão:

null

com os seguintes campos:

  • type do tipo String
  • error do tipo Boolean
  • message do tipo String.
card MyCard do
my_var = filter(nil, & &1 == "B")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@filter(nil, & &1 == \"B\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String:

[
"B",
"B"
]
card MyCard do
my_var = filter(["A", "B", "C", "B"], & &1 == "B")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@filter([\"A\", \"B\", \"C\", \"B\"], & &1 == \"B\")"
end

find(enumerable, find_fun)

Encontra o primeiro elemento na lista para o qual filter_fun é verdadeiro.

Exemplo 1: Encontra a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String:

[
"Hi",
"World"
]

quando usado com o seguinte contexto:

%{"list" => %{"__value__" => [["Hello", "World"], ["Hi", "World"]], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = find(list, & &1[0] == "Hi")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@find(list, & &1[0] == \"Hi\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String:

[
"Hi",
"World"
]
card MyCard do
my_var = find([["Hello", "World"], ["Hi", "World"]], & &1[0] == "Hi")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@find([[\"Hello\", \"World\"], [\"Hi\", \"World\"]], & &1[0] == \"Hi\")"
end

has_all_members(list, items)

Retorna verdadeiro se uma lista contiver todos os itens fornecidos

Exemplo 1: Retorna um booleano indicando se uma lista contém todos os itens a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"items" => %{"__value__" => ["C", "B"], "display" => "value for display key", "value" => "value for value key"}, "list" => %{"__value__" => ["A", "B", "C"], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_all_members(list, items)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_all_members(list, items)"
end

Exemplo 2: Verifica se a lista fornecida contém todos os itens fornecidos

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_all_members(["A", "B", "C"], ["C", "B"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_all_members([\"A\", \"B\", \"C\"], [\"C\", \"B\"])"
end

has_any_member(list, items)

Retorna verdadeiro se a lista contiver algum dos itens fornecidos

Exemplo 1: Retorna um booleano indicando se uma lista contém algum dos itens a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"items" => %{"__value__" => ["Z", "C"], "display" => "value for display key", "value" => "value for value key"}, "list" => %{"__value__" => ["A", "B", "C"], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_any_member(list, items)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_member(list, items)"
end

Exemplo 2: Verifica se a lista fornecida contém algum dos itens fornecidos

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_any_member(["A", "B", "C"], ["Z", "C"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_any_member([\"A\", \"B\", \"C\"], [\"Z\", \"C\"])"
end

has_group(groups, uuid)

Retorna se o contato faz parte do grupo com o UUID fornecido

Exemplo 1: Retorna se os grupos contêm o uuid fornecido a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false quando usado com o seguinte contexto:

%{"groups" => %{"__value__" => [%{"uuid" => "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d"}], "display" => "value for display key", "value" => "value for value key"}, "uuid" => %{"__value__" => "00000000-0000-0000-0000-000000000000", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_group(groups, uuid)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_group(groups, uuid)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false quando usado com o seguinte contexto:

%{"contact" => %{"groups" => [%{"uuid" => "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d"}]}}
card MyCard do
my_var = has_group(contact.groups, "00000000-0000-0000-0000-000000000000")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_group(contact.groups, \"00000000-0000-0000-0000-000000000000\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"contact" => %{"groups" => [%{"uuid" => "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d"}]}}
card MyCard do
my_var = has_group(contact.groups, "b7cf0d83-f1c9-411c-96fd-c511a4cfa86d")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_group(contact.groups, \"b7cf0d83-f1c9-411c-96fd-c511a4cfa86d\")"
end

has_member(list, item)

Retorna verdadeiro se a lista contiver o item fornecido como membro

Exemplo 1: Verifica se a lista fornecida possui o item como membro a partir das chaves value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"item" => %{"__value__" => "C", "display" => "value for display key", "value" => "value for value key"}, "list" => %{"__value__" => ["A", "B", "C"], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = has_member(list, item)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_member(list, item)"
end

Exemplo 2: Verifica se a lista fornecida possui o item como membro

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = has_member(["A", "B", "C"], "C")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_member([\"A\", \"B\", \"C\"], \"C\")"
end

json(data)

Converte uma estrutura de dados em JSON

Exemplo 1: Converte os dados da chave value em JSON se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "{\"foo\":\"bar\"}" quando usado com o seguinte contexto:

%{"data" => %{"__value__" => %{"foo" => "bar"}, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = json(data)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@json(data)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "{\"foo\":\"bar\"}" quando usado com o seguinte contexto:

%{"data" => %{"foo" => "bar"}}
card MyCard do
my_var = json(data)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@json(data)"
end

map(enumerable, mapper)

Mapeia uma lista de itens e aplica a função mapper a cada item, retornando o resultado.

Exemplo 1: Mapeia uma lista de itens a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values Date, Date, Date:

[
"2022-01-01",
"2022-01-02",
"2022-01-03"
]

quando usado com o seguinte contexto:

%{"expression" => %{"__value__" => 1..3, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = map(expression, &date(2022, 1, &1))
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@map(expression, &date(2022, 1, &1))"
end

Exemplo 2: Se um valor inválido e não enumerável for passado, retorna um erro

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo Null de valor padrão:

null

com os seguintes campos:

  • type do tipo String
  • error do tipo Boolean
  • message do tipo String.
card MyCard do
my_var = map(nil, &(&1 * &1))
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@map(nil, &(&1 * &1))"
end

Exemplo 3: Mapeia o intervalo de números, multiplica cada um por si mesmo e retorna o resultado

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values Integer, Integer, Integer:

[
1,
4,
9
]
card MyCard do
my_var = map(1..3, &(&1 * &1))
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@map(1..3, &(&1 * &1))"
end

Exemplo 4: Mapeia o intervalo de números, criando uma data em janeiro para cada número

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values Date, Date, Date:

[
"2022-01-01",
"2022-01-02",
"2022-01-03"
]
card MyCard do
my_var = map(1..3, &date(2022, 1, &1))
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@map(1..3, &date(2022, 1, &1))"
end

parse_json(data)

Analisa uma string como JSON quando fornecida uma String que se assume estar codificada em JSON.

Retornará o que foi fornecido como está quando o argumento fornecido não for uma String.

Exemplo 1: Analisa JSON a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values Integer, Integer, Integer:

[
1,
2,
3
]

quando usado com o seguinte contexto:

%{"string" => %{"__value__" => "[1,2,3]", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = parse_json(string)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@parse_json(string)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values Integer, Integer, Integer:

[
1,
2,
3
]
card MyCard do
my_var = parse_json('[1,2,3]')
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@parse_json('[1,2,3]')"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values Integer, Integer, Integer:

[
1,
2,
3
]
card MyCard do
my_var = parse_json('[1,2,3]')
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@parse_json('[1,2,3]')"
end

reduce(enumerable, accumulator, reducer)

Reduz elementos de uma lista aplicando uma função e coletando os resultados em um acumulador.

O primeiro argumento da função lambda é o item da lista, o segundo argumento é o acumulador.

Exemplo 1: Se um valor inválido e não enumerável for passado, retorna um erro

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo Null de valor padrão:

null

com os seguintes campos:

  • type do tipo String
  • error do tipo Boolean
  • message do tipo String.
card MyCard do
my_var = reduce(nil, 0, & &1 + &2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@reduce(nil, 0, & &1 + &2)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 6.

card MyCard do
my_var = reduce(1..3, 0, & &1 + &2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@reduce(1..3, 0, & &1 + &2)"
end

reject(enumerable, reject_fun)

Rejeita elementos de uma lista retornando uma nova lista que contém apenas os elementos para os quais reject_fun é verdadeiro.

Exemplo 1: Retorna a lista com os itens rejeitados a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String:

[
"A",
"C"
]

quando usado com o seguinte contexto:

%{"list" => %{"__value__" => ["A", "B", "C", "B"], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = reject(list, & &1 == "B")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@reject(list, & &1 == \"B\")"
end

Exemplo 2: Se um valor inválido e não enumerável for passado, retorna um erro

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo Null de valor padrão:

null

com os seguintes campos:

  • type do tipo String
  • error do tipo Boolean
  • message do tipo String.
card MyCard do
my_var = reject(nil, & &1 == "B")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@reject(nil, & &1 == \"B\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String:

[
"A",
"C"
]
card MyCard do
my_var = reject(["A", "B", "C", "B"], & &1 == "B")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@reject([\"A\", \"B\", \"C\", \"B\"], & &1 == \"B\")"
end

sort_by(enumerable, sorter_fun)

Ordena uma lista de valores usando o resultado da função sorter

Exemplo 1: Retorna a lista com itens únicos a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String, String:

[
"a",
"c",
"b"
]

quando usado com o seguinte contexto:

%{"list" => %{"__value__" => ["a", "c", "b"], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = sort_by(list, & &1 < &2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@sort_by(list, & &1 < &2)"
end

Exemplo 2: Se um valor inválido e não enumerável for passado, retorna um erro

Quando usado como uma expressão em uma Jornada, retorna um tipo complexo Null de valor padrão:

null

com os seguintes campos:

  • type do tipo String
  • error do tipo Boolean
  • message do tipo String.
card MyCard do
my_var = sort_by(nil, &rand_between(1, 5))
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@sort_by(nil, &rand_between(1, 5))"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String, String:

[
"b",
"a",
"c"
]
card MyCard do
my_var = sort_by(["a", "b", "c"], &rand_between(1, 5))
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@sort_by([\"a\", \"b\", \"c\"], &rand_between(1, 5))"
end

uniq(enumerable)

Remove valores duplicados de uma lista.

Exemplo 1: Retorna a lista com itens únicos a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String, String:

[
"A",
"B",
"C"
]

quando usado com o seguinte contexto:

%{"list" => %{"__value__" => ["A", "B", "C", "B"], "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = uniq(list)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@uniq(list)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values String, String, String:

[
"A",
"B",
"C"
]
card MyCard do
my_var = uniq(["A", "B", "C", "B"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@uniq([\"A\", \"B\", \"C\", \"B\"])"
end

with_index(enumerable)

Envolve cada item da lista em uma nova lista com o item em si e seu índice na lista original.

Exemplo 1: Retorna a lista com índices a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values List with values String, Integer, List with values String, Integer, List with values String, Integer:

[
[
"A",
0
],
[
"B",
1
],
[
"C",
2
]
]

quando usado com o seguinte contexto:

%{"val1" => %{"__value__" => "A", "display" => "value for display key", "value" => "value for value key"}, "val2" => %{"__value__" => "B", "display" => "value for display key", "value" => "value for value key"}, "val3" => %{"__value__" => "C", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = with_index([val1, val2, val3])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@with_index([val1, val2, val3])"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo List with values List with values String, Integer, List with values String, Integer, List with values String, Integer:

[
[
"A",
0
],
[
"B",
1
],
[
"C",
2
]
]
card MyCard do
my_var = with_index(["A", "B", "C"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@with_index([\"A\", \"B\", \"C\"])"
end

Lógico

and(argument1, argument2, argument3)

Retorna true se, e somente se, todos os seus argumentos forem avaliados como true

Exemplo 1: Retorna true se o valor na chave value se valores complexos forem fornecidos for avaliado como true.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"age" => %{"__value__" => 18, "display" => "value for display key", "value" => "value for value key"}, "gender" => %{"__value__" => "F", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = gender = "F" and age >= 18
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@and(gender = \"F\", age >= 18)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false quando usado com o seguinte contexto:

%{"contact" => %{"age" => 32, "gender" => "?"}}
card MyCard do
my_var = contact.gender = "F" and contact.age >= 18
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@and(contact.gender = \"F\", contact.age >= 18)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"contact" => %{"age" => 32, "gender" => "F"}}
card MyCard do
my_var = contact.gender = "F" and contact.age >= 18
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@and(contact.gender = \"F\", contact.age >= 18)"
end

boolean(value)

Converte um valor em booleano.

Nil, false, 0, 0.0 e string vazia tornam-se false. Todo o resto torna-se true.

Exemplo 1: Converte a partir do valor na chave value se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"value" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = boolean(value)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@boolean(value)"
end

Exemplo 2: Um booleano passa direto

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = boolean(true)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@boolean(true)"
end

Exemplo 3: Uma string não vazia é true

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = boolean("hello")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@boolean(\"hello\")"
end

Exemplo 4: Um número diferente de zero é true

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = boolean(1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@boolean(1)"
end

Exemplo 5: Uma string vazia é false

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = boolean("")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@boolean(\"\")"
end

Exemplo 6: Zero é false

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = boolean(0)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@boolean(0)"
end

Exemplo 7: Nil é false

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = boolean(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@boolean(nil)"
end

if(condition, yes, no)

Retorna um valor se a condição for avaliada como true e outro valor se for avaliada como false

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "No" quando usado com o seguinte contexto:

%{"boolean" => %{"__value__" => false, "display" => "value for display key", "value" => "value for value key"}, "value1" => %{"__value__" => "Yes", "display" => "value for display key", "value" => "value for value key"}, "value2" => %{"__value__" => "No", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = if(boolean, value1, value2)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@if(boolean, value1, value2)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "No".

card MyCard do
my_var = # Shorthand
if(false, do: "Yes", else: "No")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@if(false, \"Yes\", \"No\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Yes".

card MyCard do
my_var = if true do
"Yes"
else
"No"
end

# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@if(true, \"Yes\", \"No\")"
end

is_error(value)

Verifica se value é um erro

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false quando usado com o seguinte contexto:

%{}
card MyCard do
my_var = is_error("not an error")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@is_error(\"not an error\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"error" => %{"__type__" => "expression/v1error", "__value__" => nil, "error" => true, "message" => "the error"}}
card MyCard do
my_var = is_error(error)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@is_error(error)"
end

is_nil_or_empty(arg)

Retorna verdadeiro se o argumento for nil ou uma string vazia

Exemplo 1: Retorna true se o valor na chave value se valores complexos forem fornecidos for nil ou uma string vazia.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"argument" => %{"__value__" => "", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = is_nil_or_empty(argument)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@is_nil_or_empty(argument)"
end

Exemplo 2: Verifica se o argumento fornecido é nil ou uma string vazia

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = is_nil_or_empty(nil)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@is_nil_or_empty(nil)"
end

isbool(var)

Retorna true se o argumento for um booleano.

Exemplo 1: Retorna um booleano indicando se o valor na chave value é um booleano se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"string" => %{"__value__" => true, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = isbool(string)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isbool(string)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isbool("false")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isbool(\"false\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isbool("true")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isbool(\"true\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isbool(0)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isbool(0)"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isbool(1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isbool(1)"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isbool(false)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isbool(false)"
end

Exemplo 7:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isbool(true)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isbool(true)"
end

isnumber(var)

Retorna true se o argumento for um número.

Exemplo 1: Retorna um booleano indicando se o valor na chave value é um número se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"string" => %{"__value__" => 1, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = isnumber(string)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isnumber(string)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isnumber("a")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isnumber(\"a\")"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isnumber("1.0")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isnumber(\"1.0\")"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isnumber(1.0)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isnumber(1.0)"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isnumber(1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isnumber(1)"
end

isstring(binary)

Retorna true se o argumento for uma string.

Exemplo 1: Retorna um booleano indicando se o valor na chave value é uma string se valores complexos forem fornecidos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"string" => %{"__value__" => "hello", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = isstring(string)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isstring(string)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isstring(1)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isstring(1)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = isstring(false)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isstring(false)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = isstring("hello")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@isstring(\"hello\")"
end

not(argument)

Retorna false se o argumento fornecido for avaliado como verdadeiro

Exemplo 1: Retorna false se o valor na chave value se valores complexos forem fornecidos for avaliado como verdadeiro.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"boolean" => %{"__value__" => false, "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = not(boolean)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@not(boolean)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = not(false)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@not(false)"
end

or(argument1, argument2, argument3)

Retorna true se qualquer argumento for true. Retorna o primeiro valor verdadeiro encontrado ou, caso contrário, false.

Aceita qualquer quantidade de argumentos para testar veracidade.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "b" quando usado com o seguinte contexto:

%{"a" => %{"__value__" => false, "display" => "value for display key", "value" => "value for value key"}, "b" => %{"__value__" => "b", "display" => "value for display key", "value" => "value for value key"}}
card MyCard do
my_var = or(a, b)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@or(a, b)"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false quando usado com o seguinte contexto:

%{}
card MyCard do
my_var = b or b
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@or(b, b)"
end

Exemplo 3:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "a" quando usado com o seguinte contexto:

%{"a" => "a", "b" => false}
card MyCard do
my_var = a or b
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@or(a, b)"
end

Exemplo 4:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "bee" quando usado com o seguinte contexto:

%{"a" => false, "b" => "bee"}
card MyCard do
my_var = a or b
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@or(a, b)"
end

Exemplo 5:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: false.

card MyCard do
my_var = false or false
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@or(false, false)"
end

Exemplo 6:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = true or true
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@or(true, true)"
end

Exemplo 7: Retorna o primeiro valor que for verdadeiro

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "foo".

card MyCard do
my_var = false or "foo"
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@or(false, \"foo\")"
end

Exemplo 8: Retorna true se algum dos valores for true

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true.

card MyCard do
my_var = true or false
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@or(true, false)"
end

switch(argument1, argument2, argument3)

Exemplo 1: A função SWITCH avalia um valor (chamado de expressão) em relação a uma lista de valores e retorna o resultado correspondente ao primeiro valor correspondente. Se não houver correspondência, um valor padrão opcional (o último na lista, se a lista for ímpar) poderá ser retornado

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "No match".

card MyCard do
my_var = SWITCH(5, 1, "Sunday", 2, "Monday", 3, "Tuesday", "No match")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@SWITCH(5, 1, \"Sunday\", 2, \"Monday\", 3, \"Tuesday\", \"No match\")"
end

Exemplo 2: A função SWITCH avalia um valor (chamado de expressão) em relação a uma lista de valores e retorna o resultado correspondente ao primeiro valor correspondente. Se não houver correspondência, um valor padrão opcional (o último na lista, se a lista for ímpar) poderá ser retornado

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "Sunday".

card MyCard do
my_var = SWITCH(1, 1, "Sunday", 2, "Monday", 3, "Tuesday", "No match")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@SWITCH(1, 1, \"Sunday\", 2, \"Monday\", 3, \"Tuesday\", \"No match\")"
end

Dados

attachment_url(media_id)

Gera uma URL para o ID de mídia fornecido, válida por 15 minutos.

Exemplo 1: Retorna uma URL para um anexo válida por 15 minutos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "https://example.org/attachment-url".

card MyCard do
my_var = attachment_url(event.message.image.id)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@attachment_url(event.message.image.id)"
end

close_chat()

Fecha o chat atual com um motivo opcional.

Esta função fecha o chat no contexto atual, definindo seu estado como "CLOSED". Se nenhum motivo for fornecido, ela gera um motivo padrão baseado no nome da jornada.

Ela usa a função Chats.close_chat/4 para realizar a operação, que lida com todos os efeitos colaterais necessários, como marcar o chat como tratado, publicar atualizações de estatísticas, etc.

O motivo do evento de fechamento registrado é definido como :journey_completion, apropriado para fechamentos iniciados por jornadas.

Exemplos

Com motivo explícito

close_chat("Survey completed successfully")

Sem motivo (usa o nome e uuid da jornada)

close_chat() # -> "Chat closed by journey: [Journey Name] - [Journey UUID]"

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • type do tipo String.
card MyCard do
my_var = close_chat("Journey completed successfully")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@close_chat(\"Journey completed successfully\")"
end

Exemplo 2:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • type do tipo String.
card MyCard do
my_var = close_chat()
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@close_chat()"
end

cull_data(%)

Exclui permanentemente todas as mensagens, contatos, detalhes de contato, anexos e tudo mais relacionado a um chat.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • type do tipo String.
card MyCard do
my_var = cull_data()
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@cull_data()"
end

cull_data()


generate_ott(data)

Gera um One Time Token (token de uso único) que pode ser trocado por um JWT para as informações de perfil de um único contato através do endpoint /t/<token>. O token JWT retornado pode ser usado com o endpoint /v1/contacts/<contact_id>/profile para recuperar os detalhes do contato.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "99x2asd1".

card MyCard do
my_var = generate_ott("metadata")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@generate_ott(\"metadata\")"
end

get_collected_data()

Recupera os dados relacionados à sessão atual, como mensagens processadas, detalhes do contato e informações do número.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "{\"contacts\":[{\"profile\":{\"name\":\"John Doe\"},\"wa_id\":\"1234567890\"}],\"messages\":[{\"text\":{\"body\":\"hi\"}},{\"image\":{\"caption\":\"What is your name?\"},\"type\":\"image\"},{\"text\":{\"body\":\"user message\"}}],\"thread\":{\"contact\":{\"name\":\"John Doe\"}}}".

card MyCard do
my_var = get_collected_data()
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@get_collected_data()"
end

get_write_results_data()

Obtém os resultados do fluxo capturados para o contato atual na pilha atual.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "{\"chat\":\"current chat...\",\"contact\":\"current contact...\",\"number\":\"current number...\",\"results\":[{\"question\":\"the question reference...\",\"question_id\":\"question unique-id...\",\"response\":\"the response...\",\"response_metadata\":\"the response metadata...\"}],\"session\":\"current session object...\",\"stack\":\"current stack...\"}".

card MyCard do
my_var = get_write_results_data()
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@get_write_results_data()"
end

scrub_message_by_id(id)

Apaga permanentemente uma mensagem pelo ID fornecido.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • type do tipo String.
card MyCard do
my_var = scrub_message_by_id(event.message.id)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@scrub_message_by_id(event.message.id)"
end

scrub_session_messages()

Apaga permanentemente todas as mensagens processadas durante a sessão atual.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um tipo Boolean complexo de valor padrão:

true

com os seguintes campos:

  • type do tipo String.
card MyCard do
my_var = scrub_session_messages()
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@scrub_session_messages()"
end

Huggingface

hf_connect(model_resource, token)

Conecta um modelo do Huggingface. A variável retornada representa a conexão com o modelo do Huggingface e deve ser usada como o argumento de conexão para a função hf_infer.

Exemplo 1: Conectar a um modelo disponível em um domínio custom do Huggingface

Quando usado como uma expressão em uma Jornada, retorna um tipo String complexo de valor padrão:

"huggingface.co connection for \"/myhuggingface/model\""

com os seguintes campos:

  • type do tipo String
  • token do tipo String
  • url do tipo String.
card MyCard do
my_var = hf_connect("https://my-custom-domain.com/myhuggingface/model", "my-token")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@hf_connect(\"https://my-custom-domain.com/myhuggingface/model\", \"my-token\")"
end

Exemplo 2: Conectar a um modelo disponível no Huggingface.

Observe que o primeiro argumento não é uma URL, mas uma referência a um modelo do Huggingface no formato "nome-da-organizacao/nome-do-modelo", semelhante a como se referiria a um repositório do Github.

Quando usado como uma expressão em uma Jornada, retorna um tipo String complexo de valor padrão:

"huggingface.co connection for \"/models/myhuggingface/model\""

com os seguintes campos:

  • type do tipo String
  • token do tipo String
  • url do tipo String.
card MyCard do
my_var = hf_connect("myhuggingface/model", "my-token")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@hf_connect(\"myhuggingface/model\", \"my-token\")"
end

hf_infer(hf_connect, query)

Chama a API de inferência do Huggingface para a conexão armazenada na variável hf_connect.

Exemplo 1: Use a API de inferência do Huggingface para enviar uma consulta de entrada a um modelo especificado na variável de conexão. O valor retornado é o payload JSON decodificado retornado pelo modelo hospedado no Huggingface.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "nil is not a valid Huggingface connection.".

card MyCard do
my_var = hf_infer(conn, "I am so happy today")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@hf_infer(conn, \"I am so happy today\")"
end

Google

google_connect(service_account)

Conecta-se às APIs do Google usando a service account fornecida.

Exemplo 1: O primeiro argumento é a service account para o Google como uma String. Consulte a documentação do Google sobre como criar uma service account.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "an-api-access-token".

card MyCard do
my_var = google_connect("service-account-details")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@google_connect(\"service-account-details\")"
end

google_read_sheet(token, spreadsheet_id, sheet_name, cache_ttl)

Lê uma única planilha de uma planilha hospedada no Google Docs

Exemplo 1: O primeiro argumento é um token para autenticação com o Google. Este é o token retornado pela função google_connect().

O último argumento é por quanto tempo armazenar em cache os resultados, expresso em milissegundos.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"error": null,
"properties": {
"title": "the sheet name"
},
"status": 200,
"values": [
[
"row-1 column-1 value",
"row-1 column-2 value"
],
[
"row-2 column-1 value",
"row-2 column-2 value"
]
]
}
card MyCard do
my_var = google_read_sheet("the-token", "the google sheet-id", "the sheet name", 10_000)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@google_read_sheet(\"the-token\", \"the google sheet-id\", \"the sheet name\", 10_000)"
end

Exemplo 2: Quando uma conexão falha, pode-se inspecionar o status HTTP e o erro para ajudar a decidir como proceder.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"error": "connection timeout",
"status": null
}
card MyCard do
my_var = google_read_sheet("the-token", "the google sheet-id", "the sheet name", 10_000)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@google_read_sheet(\"the-token\", \"the google sheet-id\", \"the sheet name\", 10_000)"
end

Openai

attachment_url(media_id, ttl)

Retorna uma URL temporária que dá acesso à mídia referenciada pelo ID fornecido.

Exemplo 1: Retorna uma URL para um anexo recebido com um TTL (tempo de vida) limitado.

O segundo parâmetro é a quantidade de minutos que a URL será válida. Se não fornecido, o valor padrão será 15.

O TTL fornecido deve ser maior ou igual a 1 e menor ou igual a 10000, que é pouco menos de 7 dias. Se o valor de TTL fornecido for menor que 1, ele será definido como 1. Se o valor de TTL fornecido for maior que 10000, ele será definido como 10000.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo String: "https://example.org/attachment-url".

card MyCard do
my_var = attachment_url(event.message.image.id, 10)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@attachment_url(event.message.image.id, 10)"
end

openai_add_function(connection, name, description, parameters)

Adiciona uma definição de função ao contexto do OpenAI para a função informada.

Exemplo 1: Adiciona uma função chamada make_booking ao contexto do OpenAI

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"functions": [
{
"function": {
"description": "Make an appointment booking",
"name": "make_booking",
"parameters": {
"properties": {},
"type": "object"
}
},
"type": "function"
}
]
}

quando usado com o seguinte contexto:

%{"ai" => %{"__type__" => "openai/v1", "functions" => []}}
card MyCard do
my_var = openai_add_function(ai, "make_booking", "Make an appointment booking", parse_json('{
"type": "object",
"properties": {}
}'))

# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@openai_add_function(ai, \"make_booking\", \"Make an appointment booking\", parse_json('{
\"type\": \"object\",
\"properties\": {}
}'))
"
end

openai_add_image(connection, role, prompt, image_url)

Adiciona uma imagem ao contexto do OpenAI para o papel (role) fornecido, exigindo configurar uma conexão com um modelo compatível com visão.

Por padrão, isso define um máximo de 300 tokens.

Exemplo 1: Adiciona uma imagem ao contexto do OpenAI para uso com a API de Visão.

ai = openai_add_image(ai, "user", question, image_url)
completion = openai_chat_completion(ai)
text("@completion.response")

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"max_tokens": 300,
"messages": [
{
"content": [
{
"text": "Describe this image",
"type": "text"
},
{
"image_url": {
"url": null
},
"type": "image_url"
}
],
"role": "user"
}
]
}

quando usado com o seguinte contexto:

%{"ai" => %{"__type__" => "openai/v1", "messages" => []}}
card MyCard do
my_var = openai_add_image(ai, "user", "Describe this image", attachment_url(event.message.image.id))

# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@openai_add_image(ai, \"user\", \"Describe this image\", attachment_url(event.message.image.id))
"
end

openai_add_image(connection, role, prompt, image_url, max_tokens)

Adiciona uma imagem ao contexto do OpenAI para o papel (role) fornecido, exigindo configurar uma conexão com um modelo compatível com visão.

Permite especificar um número personalizado de tokens.

Exemplo 1: Adiciona uma imagem ao contexto do OpenAI para uso com a API de Visão.

ai = openai_add_image(ai, "user", question, image_url, 150)
completion = openai_chat_completion(ai)
text("@completion.response")

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"max_tokens": 150,
"messages": [
{
"content": [
{
"text": "Describe this image",
"type": "text"
},
{
"image_url": {
"url": null
},
"type": "image_url"
}
],
"role": "user"
}
]
}

quando usado com o seguinte contexto:

%{"ai" => %{"__type__" => "openai/v1", "max_tokens" => nil, "messages" => []}}
card MyCard do
my_var = openai_add_image(ai, "user", "Describe this image", attachment_url(event.message.image.id), 150)

# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@openai_add_image(ai, \"user\", \"Describe this image\", attachment_url(event.message.image.id), 150)
"
end

openai_add_message(connection, role, content)

Adiciona uma única mensagem ao contexto do OpenAI para o papel (role) fornecido.

Exemplo 1: Adiciona um único prompt de sistema ao contexto

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"messages": [
{
"content": "you are a friendly AI",
"role": "system"
}
]
}

quando usado com o seguinte contexto:

%{"ai" => %{"__type__" => "openai/v1", "messages" => []}}
card MyCard do
my_var = openai_add_message(ai, "system", "you are a friendly AI")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@openai_add_message(ai, \"system\", \"you are a friendly AI\")"
end

openai_add_messages(connection, role, messages)

Adiciona um conjunto de mensagens ao contexto do OpenAI para o papel (role) fornecido.

Exemplo 1: Adiciona uma série de prompts de sistema ao contexto

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"messages": [
{
"content": "you are a friendly AI",
"role": "system"
},
{
"content": "Answer questions as succinctly as possible",
"role": "system"
}
]
}

quando usado com o seguinte contexto:

%{"ai" => %{"__type__" => "openai/v1", "messages" => []}}
card MyCard do
my_var = openai_add_messages(ai, "system", ["you are a friendly AI", "Answer questions as succinctly as possible"])
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@openai_add_messages(ai, \"system\", [\"you are a friendly AI\", \"Answer questions as succinctly as possible\"])"
end

openai_connect(token, model)

Configura uma conexão com as APIs do OpenAI usando o token fornecido e o modelo. O valor retornado deve ser usado como a conexão para todas as outras funções openai_*.

Exemplo 1: Conectar ao GPT4 com um token de API.

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"__type__": "openai/v1",
"functions": [],
"max_tokens": null,
"messages": [],
"model": "gpt-4",
"token": "sk-XXXXX"
}
card MyCard do
my_var = openai_connect("sk-XXXXX", "gpt-4")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@openai_connect(\"sk-XXXXX\", \"gpt-4\")"
end

IA

ai_add_image(connection, role, prompt, image_url)

Adiciona uma imagem ao contexto de IA para qualquer fornecedor, exigindo um modelo compatível com visão. Funciona com OpenAI, Anthropic, Gemini e outros fornecedores.

Exemplo 1: Adiciona uma imagem ao contexto de IA para uso com modelos compatíveis com visão.

ai = ai_add_image(ai, "user", "Describe this image", image_url, 300)
completion = ai_chat_completion(ai)
text("@completion.response")

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Map:

{
"max_tokens": 300,
"messages": [
{
"content": [
{
"text": "What's in this image?",
"type": "text"
},
{
"image_url": {
"url": null
},
"type": "image_url"
}
],
"role": "user"
}
],
"vendor": "anthropic"
}

quando usado com o seguinte contexto:

%{"ai" => %{"max_tokens" => nil, "messages" => [], "vendor" => "anthropic"}}
card MyCard do
my_var = ai_add_image(ai, "user", "What's in this image?", attachment_url(event.message.image.id), 300)

# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@ai_add_image(ai, \"user\", \"What's in this image?\", attachment_url(event.message.image.id), 300)
"
end

ai_add_image(connection, role, prompt, image_url, max_tokens)

Adiciona uma imagem ao contexto de IA com configuração personalizada de max_tokens.


Contatos

has_segment_match(contact_arg, segment_uuid_arg)

Verifica se um contato é membro de um segmento específico.

Consulta o Elasticsearch para determinar se o contato corresponde à string de consulta do segmento. Retorna true se o contato estiver no segmento, false caso contrário.

Levanta um erro se o argumento do contato estiver ausente ou não tiver um uuid.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Boolean: true quando usado com o seguinte contexto:

%{"contact" => %{"uuid" => "contact-123"}, "number" => %{"uuid" => "number-456"}}
card MyCard do
my_var = has_segment_match(contact, "d58b0319-eb3f-4884-b43b-4ef0b7c37e1d")
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@has_segment_match(contact, \"d58b0319-eb3f-4884-b43b-4ef0b7c37e1d\")"
end

Tempo

monotonic_time()

Retorna o tempo monotônico atual em unidades nativas.

O tempo monotônico é garantido sempre aumentar e não é afetado por ajustes no relógio do sistema. Isso o torna ideal para medir intervalos de tempo e calcular latências. Use com time_elapsed() para obter a duração em milissegundos.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 123456789.

card MyCard do
my_var = monotonic_time()
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@monotonic_time()"
end

time_elapsed(start_time)

Calcula o tempo decorrido em milissegundos desde um determinado tempo inicial.

Recebe um timestamp monotônico (como retornado por monotonic_time()) e retorna a duração em milissegundos daquele timestamp até agora.

Exemplo 1:

Quando usado como uma expressão em uma Jornada, retorna um valor do tipo Integer: 42 quando usado com o seguinte contexto:

%{"start_time" => 123456789}
card MyCard do
my_var = time_elapsed(start_time)
# Quando usado em um trecho de texto, prefixe com um `@`
my_var = "@time_elapsed(start_time)"
end

Sem categoria

__expression_functions()


close_chat(reason)


Acessores de campos de contato

Campos personalizados ENUM: .value e .display

Campos de contato personalizados do tipo ENUM expõem dois acessores extras para que você não precise mapear manualmente o valor bruto para seu rótulo. A referência simples permanece compatível com versões anteriores (ela é convertida para o valor armazenado), enquanto .value e .display fornecem acesso explícito:

AcessorRetorna
@contact.fieldo valor bruto armazenado (conversão para string, inalterado)
@contact.field.valueo valor bruto armazenado
@contact.field.displayo rótulo de exibição configurado da opção
card MyCard do
# @contact.appointment_type -> "IN_PERSON" (valor bruto)
# @contact.appointment_type.value -> "IN_PERSON"
# @contact.appointment_type.display -> "In person" (rótulo configurado)
text("Appointment type: @contact.appointment_type.display")
end

Use .value (ou a referência simples) em condições nas quais você compara com o valor armazenado, e .display em text() onde você quer a forma legível para humanos.

Campos DATE são timestamps ISO 8601 simples — compare-os diretamente e formate-os para exibição com @datevalue(...):

card MyCard do
# Compare diretamente (nenhum acessor necessário):
# contact.appointment_at > datetime_add(now(), -12, "h")
text("Your appointment is on @datevalue(\"@contact.appointment_at\", \"%d %b %Y %H:%M\")")
end