Condiciones
Entendiendo cómo las condiciones del canal funcionan en Echobell
Condiciones de Canal
Las condiciones de canal son expresiones poderosas que determinan cuándo se deben enviar notificaciones. Al establecer condiciones en tu canal, puedes filtrar notificaciones basadas en el contenido de variables o encabezados HTTP, asegurando que los suscriptores reciban solo alertas relevantes.
Entendiendo las Condiciones
Las condiciones son expresiones que se evalúan como true
o false
. Cuando se activa un canal:
- Si las condiciones no están establecidas (vacías), se envían notificaciones a todos los suscriptores.
- Si las condiciones están establecidas, las notificaciones se envían solo cuando la expresión se evalúa como
true
.
Escribiendo Condiciones
Las condiciones se escriben como expresiones sin los envoltorios {{}}
que se utilizan en las plantillas. Por ejemplo:
Esta condición solo permitirá que se envíen notificaciones cuando la variable status
sea igual a "active".
Casos de Uso Comunes
Aquí hay algunos ejemplos prácticos de cómo podrías usar las condiciones:
Verificaciones Básicas de Variables
Notificar solo cuando la variable "amount" sea mayor que 100.
Notificar solo cuando la variable "message" no esté vacía.
Notificar solo cuando la variable "isUrgent" sea verdadera.
Verificando Encabezados HTTP
Puedes acceder a los encabezados HTTP usando la variable especial header
:
Notificar solo cuando la solicitud proviene de un navegador Mozilla.
Notificar solo cuando el tipo de contenido es JSON.
Notificar solo cuando un encabezado personalizado de prioridad está configurado como "high".
Todas las claves en los encabezados están en minúsculas.
Condiciones Complejas
Puedes combinar múltiples condiciones usando operadores lógicos:
Notificar solo cuando la temperatura excede 30 o la presión excede 100, y el estado es "monitoring".
Notificar solo para errores críticos o de alto nivel en el entorno de producción.
Operadores Admitidos
Los siguientes operadores son admitidos en las expresiones de condición:
| Operador | Descripción | Ejemplo |
| -------- | --------------- | ---------------------- | --------- | -------- | --- | ---------- |
| ==
| Igual a | status == "active"
|
| !=
| No igual a | status != "inactive"
|
| !
| NO lógico | !isCompleted
|
| <
| Menor que | count < 10
|
| >
| Mayor que | price > 99.99
|
| <=
| Menor o igual a | battery <= 20
|
| >=
| Mayor o igual a | confidence >= 0.95
|
| &&
| AND lógico | isAdmin && isActive
|
| | |
| OR lógico | isError | | isWarning
|
Variables de Condición
Cuando un canal se activa a través de webhook, puedes acceder a:
- Parámetros de consulta de la URL
- Cuerpo JSON de solicitudes POST
- Encabezados HTTP a través del objeto
header
Para activadores de correo electrónico, puedes acceder a:
from
: La dirección del remitente del correoto
: La dirección del destinatariosubject
: La línea de asunto del correotext
: El contenido de texto planohtml
: El contenido HTML
Mejores Prácticas
- Comienza simple - Empieza con condiciones básicas y añade complejidad según sea necesario
- Prueba exhaustivamente - Prueba tus condiciones con varias entradas para asegurar que funcionen como se espera
- Documenta tus condiciones - Añade comentarios en el campo de notas de tu canal para explicar condiciones complejas
- Considera casos extremos - Ten en cuenta variables faltantes o valores inesperados
Ejemplos
Alertar solo para errores específicos
Notificar solo durante horas de trabajo
Filtrar por tipo de usuario
Comprobar origen de la solicitud
Monitorizar violaciones de umbral
Al usar las condiciones de manera efectiva, puedes reducir el ruido de las notificaciones y asegurar que los suscriptores reciban solo las alertas que son relevantes y procesables para ellos.