Skip to main content

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.
En este recurso, created_at y updated_at usan el formato 2026-07-24 14:41:58.842 +0000 UTC, no RFC 3339.

Tipos de condición

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.
Se dispara cuando un pase acumula una racha de días consecutivos con escaneo.
integer
required
Días consecutivos requeridos. Mínimo 1.
string
required
any, per_reader o specific.
string
Obligatorio solo con reader_scope: "specific".
Se dispara según una fecha guardada en un campo del pase, por ejemplo un cumpleaños o el vencimiento de una membresía.
string
required
Nombre del campo del pase que contiene la fecha.
string
required
Cada cuánto se repite: daily, weekly, monthly, yearly u once.
Se dispara con un desfase respecto a una fecha y hora guardada en el pase. Útil para recordatorios previos a una cita o reservación.
string
required
Campo del pase que contiene la fecha y hora.
integer
required
Minutos de desfase. Debe ser un entero mayor o igual a 0.
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 un action_name devuelve 400 RULE_ACTION_DUPLICATE_TYPE.
string
required
Texto del push. No puede estar vacío.
array
required
Lista no vacía de campos a escribir.
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.
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.
Devuelve 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

Devuelve 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.
Devuelve 200 OK con la regla.

Actualizar una regla

Todos los campos son opcionales, pero 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.
Devuelve 200 OK con un mensaje de confirmación.

Eliminar una regla

Devuelve 204 No Content.