Canaux de notification
Pour une connexion téléphonique étape par étape, voir Connectez l'application .
Configurer dans la console
- Ouvrez Notifications et choisissez l'application Bark, Pushover, Webhook ou Mailwake.
- Remplissez les champs de la chaîne sélectionnée ci-dessous. Pour l'application Mailwake, commencez par jumeler le téléphone, puis choisissez le téléphone de réception.
- Choisissez l'aperçu, la langue de notification et le nombre de tentatives. Un nombre de tentatives de 0 effectue une tentative.
- Enregistrez, puis envoyez explicitement une notification de test. Vérifiez le téléphone ou le récepteur webhook et le résultat de la livraison.
Les paramètres s'appliquent à toutes les boîtes aux lettres. La modification des paramètres préserve le travail en file d'attente selon son plan de livraison existant ; vérifier le comportement futur avec un nouveau message.
Configuration des canaux
Configurez le canal global via
/api/v1/settings/delivery , en envoyant son
revision actuel. Le canal, l'aperçu, le nombre de
tentatives et la langue de notification s'appliquent à toutes
les boîtes aux lettres. Toutes les informations d'identification
sont chiffrées et en écriture seule ; les identifiants omis sont
conservés si la destination reste identique. Modifier une adresse
Bark enregistrée exige de saisir à nouveau la clé de l’appareil.
| Canal | Paramètres | Informations d'identification |
|---|---|---|
bark |
bark.endpoint ,
https://api.day.app par défaut
|
bark.key |
pushover |
aucun |
pushover.token , pushover.user
|
webhook |
HTTPS, requête autorisée |
webhook.url et webhook.secret (au
moins 32 caractères autres que des espaces)
|
native |
Service officiel de livraison push de production par défaut
; remplacer par MAILWAKE_RELAY_URL ; Associer
des téléphones dans l'autorisation de l'application
|
Identité d'avant-poste générée localement et chiffrée |
Les URL de webhook sont en écriture seule, car les chemins et les
requêtes peuvent contenir des informations d'identification de
routage. preview accepte off ou
subject ; retry_count accepte 0 à 9 et la
valeur par défaut est 0 ; language accepte le
neuf codes de catalogue et leurs alias régionaux
et est par défaut en . Bark et Pushover affichent
uniquement le sujet avec subject ; Webhook conserve
l'expéditeur et le sujet structurés, tandis que son
message ne contient également que le sujet.
off (et un objet vide) utilise le message localisé «
Nouveau courrier ». Les titres restent
{display name} · {folder} ; Bark regroupe par ce même
titre tronqué. Le texte de la notification de test est inchangé.
L'entrée API sender_subject renvoie 400
config_preview_invalid . Pour les canaux tiers, le
passage de subject à off supprime
atomiquement l'expéditeur et le sujet de tous les
enregistrements en attente et en échec ; les mises en file
d'attente ultérieures suivent également la politique de
confidentialité enregistrée. Le push natif enregistre toujours
l'expéditeur et le sujet tout en préservant la préférence
d'aperçu tiers.
La conservation de l'historique Bark suit le paramètre d'historique de sauvegarde de l'application Bark pour les notifications par courrier électronique et de test.
Charge utile du webhook
L'avant-poste envoie un POST avec un corps JSON et
ne suit jamais les redirections :
{
"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 est l’ID de boîte aux lettres stable ;
account est son nom d'affichage au moment de la
mise en file d'attente. Les notifications ordinaires Bark,
Pushover et Webhook utilisent le titre
{display name} · {folder} dans toutes les langues
prises en charge. Renommer ou supprimer une boîte aux lettres
préserve les métadonnées d'identité des tâches déjà mises en
file d'attente. Les notifications de test utilisent un texte
séparé et omettent les champs de boîte aux lettres.
sender et subject apparaissent uniquement
avec l'aperçu subject. title et
message sont localisés et prêts à être transmis à ntfy,
Gotify et à des services similaires. Le nom d'affichage et le
dossier sont envoyés même avec l'aperçu désactivé ; choisissez
une étiquette adaptée au partage avec votre fournisseur de
notifications.
| En-tête | Signification |
|---|---|
X-Mailwake-Event |
ID d'événement, égal à id ; inchangé au fil
des tentatives, utilisez-le pour dédupliquer
|
X-Mailwake-Timestamp |
Heure d'envoi en secondes Unix |
X-Mailwake-Signature |
sha256= suivi de la représentation hexadécimale
de
HMAC-SHA256(secret, "<timestamp>.<raw
body>")
|
Vérifiez la signature avec le même secret à l'aide d'une comparaison à temps constant et rejetez les horodatages à plus de cinq minutes :
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)
Toute réponse 2xx compte comme acceptée. 429 et 5xx suivent le paramètre de nouvelle tentative ; d'autres statuts mettent fin à la tentative et enregistrent un échec.
L'enregistrement des paramètres de notification valide les champs, les adresses, l'état d'appairage et la révision sans envoyer de test. Utilisez le bouton de test explicite après la sauvegarde. Les tests natifs utilisent le point de terminaison de test gratuit fixe du service de transmission des notifications et partagent le quota de test de l'application ; les notifications par courrier électronique ordinaires nécessitent le droit Native Push.
Markdown · AGPL-3.0-only · Contributeurs de Mailwake