Reglas de activación
Una regla de activación automatiza a Alara: define una condición y una o más acciones. Cuando la condición se cumple para un pase, Alara ejecuta las acciones sobre ese pase sin que tú tengas que intervenir. Ejemplos típicos:- Si alguien no ha venido en 30 días, envíale un push con una promoción.
- Si visita 5 días seguidos, asígnale una recompensa.
- Tres días antes del vencimiento de su membresía, recuérdaselo.
- Al completar 10 sellos, otórgale un café gratis y reinicia el contador.
Una regla se ejecuta como máximo una vez por cada combinación de regla, pase y ocasión. No recibirás acciones duplicadas por el mismo hecho.
El objeto regla
string
Identificador (UUID) de la regla.
string
Nombre descriptivo.
string
Tipo de condición.
object
Configuración de la condición, según el tipo.
array
Acciones a ejecutar.
boolean
Si la regla está activa.
string
Fecha de creación.
string
Última modificación.
Tipos de condición
scan_inactivity — no ha escaneado en N días
scan_inactivity — no ha escaneado en N días
Se dispara cuando un pase lleva cierto número de días sin registrar escaneos.
integer
required
Días de inactividad. Mínimo
1.string
required
A qué lectores aplica:
any (cualquiera), per_reader (se evalúa por lector de forma independiente) o specific (un lector concreto).string
Identificador del lector. Obligatorio si
reader_scope es specific; prohibido en los otros casos.scan_consecutive — ha escaneado N días seguidos
scan_consecutive — ha escaneado N días seguidos
date_field — en la fecha de un campo del pase
date_field — en la fecha de un campo del pase
datetime_field — a X minutos de una fecha y hora
datetime_field — a X minutos de una fecha y hora
stamp_threshold — al alcanzar N sellos
stamp_threshold — al alcanzar N sellos
Se dispara cuando el contador de sellos de un pase alcanza cierto valor.
integer | string
required
Número de sellos (entero mayor o igual a
1), o la cadena literal "card_full" para dispararse cuando la tarjeta se completa según su plantilla.Tipos de acción
Una regla admite como máximo una acción de cada tipo. Repetir unaction_name devuelve 400 RULE_ACTION_DUPLICATE_TYPE.
push_notification — enviar una notificación
push_notification — enviar una notificación
string
required
Texto del push. No puede estar vacío.
set_field — escribir campos del pase
set_field — escribir campos del pase
array
required
Lista no vacía de campos a escribir.
set_loyalty — fijar el saldo de lealtad
set_loyalty — fijar el saldo de lealtad
Fija el contador a un valor absoluto. A diferencia de
POST /v1/passes/{id}/loyalty, que suma un delta, esta acción establece el valor: es la forma habitual de reiniciar una tarjeta de sellos completada.integer
required
Nuevo valor. Debe ser mayor o igual a
0.assign_reward — otorgar una recompensa
assign_reward — otorgar una recompensa
string
required
slug de una recompensa activa de tu catálogo. Un slug desconocido devuelve 400 ACTION_ASSIGN_REWARD_SLUG_UNKNOWN.Crear una regla
string
required
Nombre descriptivo de la regla.
string
required
Uno de los tipos de condición.
object
required
Configuración de la condición.
array
required
Al menos una acción.
boolean
Si la regla queda activa al crearse.
201 Created con un mensaje de confirmación. No devuelve el objeto de la regla: consúltalo con GET /v1/trigger-rules si necesitas su id.
Listar reglas
200 OK con un arreglo de reglas. Este listado no está paginado.
Consultar una regla
string
required
UUID de la regla. Un valor que no sea UUID devuelve
400 INVALID_RULE_ID.200 OK con la regla.
Actualizar una regla
config y actions se reemplazan por completo, no se fusionan: si envías actions, la nueva lista sustituye a la anterior.
string
Nuevo nombre.
object
Nueva configuración, reemplaza la anterior.
array
Nuevas acciones, reemplazan las anteriores.
boolean
Activa o desactiva la regla. Si lo omites, no cambia.
200 OK con un mensaje de confirmación.
Eliminar una regla
204 No Content.
