Canais de notificação

Para conectar o app passo a passo, consulte Conecte o aplicativo .

Configurar no console

  1. Abra Notificações e escolha Bark, Pushover, Webhook ou Mailwake App.
  2. Preencha os campos do canal selecionado abaixo. Para o aplicativo Mailwake, primeiro emparelhar o telefone e, em seguida, escolha o telefone receptor.
  3. Escolha a visualização, o idioma de notificação e a contagem de novas tentativas. Uma contagem de novas tentativas de 0 faz uma tentativa.
  4. Salve e envie explicitamente uma notificação de teste. Verifique o receptor do telefone ou webhook e o resultado da entrega.

As configurações se aplicam a todas as caixas de correio. A alteração das configurações preserva o trabalho na fila de acordo com o plano de entrega existente; verifique o comportamento futuro com uma nova mensagem.

Configuração do canal

Configure o canal global através de /api/v1/settings/delivery , enviando seu revision atual . Canal, visualização, contagem de novas tentativas e idioma de notificação se aplicam a todas as caixas de correio. Todas as credenciais são criptografadas e somente gravação; as credenciais omitidas são mantidas se o destino não mudar. Ao alterar um endereço Bark salvo, informe novamente a chave do dispositivo.

Canal Parâmetros Credenciais
bark bark.endpoint, padrão https://api.day.app bark.key
pushover nenhum pushover.token, pushover.user
webhook HTTPS, consulta permitida webhook.url e webhook.secret (pelo menos 32 caracteres sem espaço em branco)
native Serviço oficial de entrega push de produção por padrão; substituir por MAILWAKE_RELAY_URL ; emparelhar telefones na autorização do aplicativo Identidade de posto criptografada gerada localmente

URLs de webhook são somente gravação porque caminhos e consultas podem conter credenciais de roteamento. preview aceita off ou subject; retry_count aceita 0–9 e o padrão é 0; language aceita nove códigos de catálogo e seus apelidos regionais e o padrão é en . Bark e Pushover mostram apenas o assunto com subject ; O Webhook retém remetente e assunto estruturados, enquanto seu message também contém apenas o assunto. off (e um assunto vazio) usa a mensagem localizada “Novo e-mail”. Os títulos permanecem {display name} · {folder}; Bark agrupa pelo mesmo título truncado. O texto da notificação de teste permanece inalterado. A entrada da API sender_subject retorna 400 config_preview_invalid . Para canais de terceiros, a mudança de subject para off remove atomicamente o remetente e o assunto de todos os registros pendentes e com falha; enfileiramentos posteriores também seguem a política de privacidade salva. O push nativo sempre registra o remetente e o assunto, preservando a preferência de visualização de terceiros.

A retenção do histórico do Bark segue a configuração de histórico de salvamento do aplicativo Bark para notificações de e-mail e de teste.

Carga útil do webhook

O posto envia um POST com um corpo JSON e nunca segue redirecionamentos:

json
{
  "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 é o ID da caixa de correio estável; account é seu nome de exibição no momento do enfileiramento. As notificações comuns Bark, Pushover e Webhook usam o título {display name} · {folder} em todos os idiomas compatíveis. Renomear ou excluir uma caixa de correio preserva os metadados de identidade de tarefas já enfileiradas. As notificações de teste usam texto separado e omitem campos de caixa de correio.

sender e subject aparecem apenas com a visualização subject. title e message estão localizados e prontos para serem encaminhados para ntfy, Gotify e serviços semelhantes. O nome de exibição e a pasta são enviados mesmo com a visualização desativada; escolha um rótulo adequado para compartilhar com seu provedor de notificação.

Cabeçalho Significado
X-Mailwake-Event ID do Evento, igual a id ; inalterado nas novas tentativas, use-o para desduplicar
X-Mailwake-Timestamp Tempo de envio em segundos Unix
X-Mailwake-Signature sha256= seguido pelo hexadecimal HMAC-SHA256(secret, "<timestamp>.<raw body>")

Verifique a assinatura com o mesmo segredo usando uma comparação de tempo constante e rejeite carimbos de data/hora com mais de cinco minutos de distância:

python
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)

Qualquer resposta 2xx conta como aceita. 429 e 5xx seguem a configuração de nova tentativa; outros status encerram a tentativa e registram uma falha.

Salvar configurações de notificação valida campos, endereços, estado de emparelhamento e revisão sem enviar um teste. Use o botão de teste explícito após salvar. Os testes nativos usam o endpoint de teste gratuito fixo do serviço de envio de notificações e compartilham a cota de teste do aplicativo; notificações comuns por e-mail exigem direitos de push nativo.

Markdown · AGPL-3.0-only · Colaboradores do Mailwake