Canales de notificación
Para una conexión telefónica paso a paso, consulte Conecte la aplicación.
Configurar en la consola
- Abra Notificaciones y elija la aplicación Bark, Pushover, Webhook o Mailwake.
- Complete los campos del canal seleccionado a continuación. Para la aplicación Mailwake, primero emparejar el teléfono, luego elija el teléfono receptor.
- Elija la vista previa, el idioma de notificación y el recuento de reintentos. Un recuento de reintentos de 0 hace un intento.
- Guarde y luego envíe explícitamente una notificación de prueba. Verifique el teléfono o el receptor del webhook y el resultado de la entrega.
La configuración se aplica a todos los buzones. Cambiar la configuración preserva el trabajo en cola de acuerdo con su plan de entrega existente; verificar el comportamiento futuro con un nuevo mensaje.
Configuración de canales
Configurar el canal global a través de
/api/v1/settings/delivery, enviando su
revision actual. El canal, la vista previa, el recuento
de reintentos y el idioma de notificación se aplican a todos los
buzones. Todas las credenciales están cifradas y son de solo
escritura; Las credenciales omitidas se conservan si el destino no
cambia. Al cambiar una dirección de Bark guardada, debe volver a
introducir la clave del dispositivo.
| Canal | Parámetros | Credenciales |
|---|---|---|
bark |
bark.endpoint, predeterminado
https://api.day.app
|
bark.key |
pushover |
ninguno |
pushover.token , pushover.user
|
webhook |
HTTPS, consulta permitida |
webhook.url y webhook.secret (al
menos 32 caracteres que no sean espacios en blanco)
|
native |
Servicio oficial de entrega push de producción por defecto;
anular con MAILWAKE_RELAY_URL; emparejar
teléfonos en la autorización de la aplicación
|
Identidad de puesto cifrada y generada localmente |
Las URL de webhook son de solo escritura porque las rutas y
consultas pueden contener credenciales de enrutamiento.
preview acepta off o subject;
retry_count acepta 0–9 y el valor predeterminado es 0;
language acepta
nueve códigos de catálogo y sus alias regionales
y el valor predeterminado es en. Bark y Pushover
muestran solo el asunto con subject; Webhook conserva
el remitente y el asunto estructurados, mientras que su
message también contiene solo el asunto.
off (y un asunto vacío) utiliza el mensaje localizado
"Correo nuevo". Los títulos permanecen
{display name} · {folder}; Bark agrupa las
notificaciones con ese mismo título truncado. El texto de
notificación de prueba no ha cambiado. La entrada API
sender_subject devuelve 400
config_preview_invalid. Para canales de terceros,
cambiar de subject a off elimina
atómicamente al remitente y al asunto de todos los registros
pendientes y fallidos; Las colas posteriores también siguen la
política de privacidad guardada. El envío de notificaciones nativas
siempre registra el remitente y el asunto conservando la preferencia
de vista previa de terceros.
La retención del historial de Bark sigue la configuración del historial de guardado de la aplicación Bark para notificaciones de correo y de prueba.
Carga útil del webhook
El puesto envía un POST con un cuerpo JSON y nunca
sigue redirecciones:
{
"version": 1,
"id": "3f9c…",
"test": false,
"mailbox_id": "mbx_example",
"account": "Work mailbox",
"folder": "Clients",
"sender": "anna@example.org",
"subject": "Re: Q4 proposal",
"received_at": "2026-09-28T10:32:00Z",
"title": "Work mailbox · Clients",
"message": "Re: Q4 proposal"
}
mailbox_id es el ID del buzón estable;
account es su nombre para mostrar en el momento de la
puesta en cola. Las notificaciones ordinarias de Bark, Pushover y
Webhook utilizan el título {display name} · {folder} en
todos los idiomas compatibles. Cambiar el nombre o eliminar un buzón
conserva los metadatos de identidad de las tareas que ya están en
cola. Las notificaciones de prueba utilizan texto separado y omiten
campos de buzón.
sender y subject aparecen solo con la
vista previa de subject. title y
message están localizados y listos para reenviar a
ntfy, Gotify y servicios similares. El nombre para mostrar y la
carpeta se envían incluso con la vista previa desactivada; Elija una
etiqueta adecuada para compartir con su proveedor de notificaciones.
| Encabezado | Significado |
|---|---|
X-Mailwake-Event |
ID de evento, igual a id; sin cambios en los
reintentos, úselo para deduplicar
|
X-Mailwake-Timestamp |
Tiempo de envío en segundos Unix |
X-Mailwake-Signature |
sha256= seguido de la representación
hexadecimal de
HMAC-SHA256(secret, "<timestamp>.<raw
body>")
|
Verifique la firma con el mismo secreto usando una comparación de tiempo constante y rechace marcas de tiempo con más de cinco minutos de diferencia:
import hashlib, hmac, time
def verify(secret: bytes, timestamp: str, body: bytes, signature: str) -> bool:
expected = "sha256=" + hmac.new(secret, timestamp.encode() + b"." + body, hashlib.sha256).hexdigest()
return abs(time.time() - int(timestamp)) <= 300 and hmac.compare_digest(expected, signature)
Cualquier respuesta 2xx cuenta como aceptada. 429 y 5xx siguen la configuración de reintento; otros estados finalizan el intento y registran un fracaso.
Guardar la configuración de notificación valida campos, direcciones, estado de emparejamiento y revisión sin enviar una prueba. Utilice el botón de prueba explícito después de guardar. Las pruebas nativas utilizan el punto final de prueba gratuito fijo del servicio de envío de notificaciones y comparten la cuota de prueba de la aplicación; las notificaciones ordinarias por correo electrónico requieren el derecho de Native Push.
Markdown · AGPL-3.0-only · Colaboradores de Mailwake