Acciones
La acción es el efecto de una condición satisfecha. Una condición puede tener de cero a varias acciones, ejecutadas de arriba hacia abajo, y cada acción ve lo que escribieron las anteriores.
Esta página reúne lo que vale para todas las acciones. Cada acción tiene su propia página, con la configuración y el comportamiento específicos.
Origen, destino y ajustes
Varias acciones consultan un dato y devuelven otro. En todas ellas la configuración sigue el mismo formato:
- Origen: qué campos del evento alimentan la acción;
- Destino: qué campos reciben cada resultado;
- Ajustes: parámetros propios de la acción.
Cada destino es opcional individualmente: si solo necesita el país y no el identificador, deje el otro en blanco. Pero cada acción exige al menos un destino completado: una acción que no graba nada en ningún lugar no sería ejecutada y no se acepta al guardar.
Un resultado que la acción no logró resolver deja el campo de destino intacto, en lugar de grabar un valor vacío. Esto es intencional: un campo en blanco sigue siendo comprobable por una condición posterior ($issuer_country == null), y ninguna suposición es mejor que un dato equivocado. En cambio, false y 0 son resultados legítimos y se graban normalmente.
Valor fijo o expresión
Las dos acciones que graban un valor, completar campo y definir variable temporal, aceptan ese valor de dos formas, elegidas en un selector al lado del destino:
- Valor fijo: el contenido se graba exactamente como fue escrito. Nada dentro de él se interpreta: en valor fijo,
$amountgraba el texto$amount. - Expresión: el contenido se interpreta, y lo que se graba es el resultado.
Las acciones creadas antes de esta opción abren en Valor fijo y mantienen el comportamiento anterior.
Una expresión puede ser:
| Forma | Ejemplo |
|---|---|
| un campo del evento | $issuer_country |
| una variable temporal | %bot.score |
| un texto, número o booleano | "aprobado", 10, true |
una unión con concat | concat($order_id, "-", %bot.score_cell) |
Se aplica la misma sintaxis de las condiciones, con una diferencia: la expresión de una acción produce un valor, no un verdadero o falso, y no hay comparaciones ni and/or. Como en cualquier condición, una variable temporal leída en la expresión debe haber sido producida por una acción anterior.
Tipos compatibles
Un texto, número o booleano escrito directamente en la expresión es validado por el campo de destino, exactamente como lo sería un valor fijo.
En cambio, un campo, una variable temporal o un concat necesitan tener un tipo compatible con el destino. La conversión solo ocurre cuando no hay pérdida:
| Tipo del campo de destino | Acepta valor de |
|---|---|
| Texto | cualquier tipo |
| Entero | Entero |
| Decimal | Decimal, Entero |
| Booleano | Booleano |
| Fecha y hora | Fecha y hora |
Un decimal no se graba en un campo entero: redondear automáticamente decidiría por el autor de la regla qué hacer con la parte fraccionaria. El camino contrario, un entero en un campo decimal, se acepta. El resultado de concat siempre es un texto, y por eso solo cabe en un campo de texto.
Una variable temporal no tiene tipo de destino, de modo que acepta cualquier valor, incluso un conjunto como %bot.triggered_cells. Copiado solo, el conjunto sigue siendo un conjunto y continúa utilizable a la derecha de un in. Ese mismo conjunto no puede grabarse en un campo, ni usarse dentro de un concat.
Valores ausentes
Una expresión que solo copia un valor, como $campo o %variable solos, no graba nada cuando ese valor no existe: el campo de destino queda como estaba, y la variable temporal sigue ausente. Es la misma elección descrita arriba, de no sustituir un dato ausente por una suposición. En cambio, false, 0 y un texto vacío son lecturas legítimas y se graban.
Un concat siempre graba, porque construye un texto nuevo en lugar de copiar uno existente; las partes ausentes entran como vacío.
Tabla de contenidos
- Completar campo - graba un valor en un campo del evento
- Definir variable temporal - graba un valor temporal, sin persistirlo en el evento
- Sumar a variable temporal - suma un paso a un contador temporario, sin persistirlo en el evento
- Enriquecer - consulta un dato externo y graba el resultado en campos del evento
- Extraer prefijo de IP - reduce una dirección IP a la red a la que pertenece
- Agregar a la lista - añade el valor de un campo a una lista de la cuenta, con vigencia
- Ejecutar análisis - evalúa un análisis del tipo de evento y expone el resultado
- Registrar análisis - alimenta las ventanas de un análisis con el evento actual