Ações
A ação é o efeito de uma condição satisfeita. Uma condição pode ter de zero a várias ações, executadas de cima para baixo, e cada ação enxerga o que as anteriores escreveram.
Esta página reúne o que vale para todas as ações. Cada ação tem sua própria página, com a configuração e o comportamento específicos.
Origem, destino e ajustes
Várias ações consultam um dado e devolvem outro. Em todas elas a configuração segue o mesmo formato:
- Origem: quais campos do evento alimentam a ação;
- Destino: quais campos recebem cada resultado;
- Ajustes: parâmetros próprios da ação.
Cada destino é opcional individualmente: se você só precisa do país e não do identificador, deixe o outro em branco. Mas cada ação exige pelo menos um destino preenchido: uma ação que não grava nada em lugar nenhum não seria executada e não é aceita ao salvar.
Um resultado que a ação não conseguiu resolver deixa o campo de destino intocado, em vez de gravar um valor vazio. Isso é intencional: um campo em branco continua sendo testável por uma condição posterior ($issuer_country == null), e nenhum palpite é melhor que um dado errado. Já false e 0 são resultados legítimos e são gravados normalmente.
Valor fixo ou expressão
As duas ações que gravam um valor, preencher campo e definir variável temporária, aceitam esse valor de duas formas, escolhidas em um seletor ao lado do destino:
- Valor fixo: o conteúdo é gravado exatamente como foi escrito. Nada dentro dele é interpretado: em valor fixo,
$amountgrava o texto$amount. - Expressão: o conteúdo é interpretado, e o que se grava é o resultado.
Ações criadas antes desta opção abrem em Valor fixo e mantêm o comportamento anterior.
Uma expressão pode ser:
| Forma | Exemplo |
|---|---|
| um campo do evento | $issuer_country |
| uma variável temporária | %bot.score |
| um texto, número ou booleano | "aprovado", 10, true |
uma junção com concat | concat($order_id, "-", %bot.score_cell) |
Aplica-se a mesma sintaxe das condições, com uma diferença: a expressão de uma ação produz um valor, não um verdadeiro ou falso, e não há comparações nem and/or. Como em qualquer condição, uma variável temporária lida na expressão precisa ter sido produzida por uma ação anterior.
Tipos compatíveis
Um texto, número ou booleano escrito diretamente na expressão é validado pelo campo de destino, exatamente como um valor fixo seria.
Já um campo, uma variável temporária ou um concat precisam ter tipo compatível com o destino. A conversão só acontece quando não há perda:
| Tipo do campo de destino | Aceita valor de |
|---|---|
| Texto | qualquer tipo |
| Inteiro | Inteiro |
| Decimal | Decimal, Inteiro |
| Booleano | Booleano |
| Data e hora | Data e hora |
Um decimal não é gravado em um campo inteiro: arredondar automaticamente decidiria pelo autor da regra o que fazer com a parte fracionária. O caminho contrário, um inteiro em um campo decimal, é aceito. O resultado de concat é sempre um texto, e por isso só cabe em campo de texto.
Uma variável temporária não tem tipo de destino, de modo que aceita qualquer valor, inclusive um conjunto como %bot.triggered_cells. Copiado sozinho, o conjunto continua sendo um conjunto e segue utilizável à direita de um in. Esse mesmo conjunto não pode ser gravado em um campo, nem usado dentro de um concat.
Valores ausentes
Uma expressão que apenas copia um valor, como $campo ou %variavel sozinhos, não grava nada quando esse valor não existe: o campo de destino fica como estava, e a variável temporária continua ausente. É a mesma escolha descrita acima, de não substituir um dado ausente por um palpite. Já false, 0 e um texto vazio são leituras legítimas e são gravados.
Um concat sempre grava, porque constrói um texto novo em vez de copiar um existente; as partes ausentes entram como vazio.
Índice
- Preencher campo - grava um valor em um campo do evento
- Definir variável temporária - grava um valor temporário, sem persistir no evento
- Somar em variável temporária - soma um passo a um contador temporário, sem persistir no evento
- Enriquecer - consulta um dado externo e grava o resultado em campos do evento
- Extrair prefixo do IP - reduz um endereço IP à rede a que ele pertence
- Adicionar à lista - acrescenta o valor de um campo a uma lista da conta, com validade
- Executar análise - avalia uma análise do tipo de evento e disponibiliza o resultado
- Registrar análise - alimenta as janelas de uma análise com o evento atual