E-posta ve webhook ile bildirim
Panelde projeni aç → Gelen. Burada iki tür adres oluşturursun. Her ikisi de normal bildirim gibi kuyruğa girer, kotandan düşer ve cihaz kurallarına uyar.
E-posta adresi
Bölüm başlığı “E-posta adresi”Yeni adres sana in+…@pmail.pushbell.app biçiminde bir adres verir. Bu adrese gelen e-posta bildirim olur:
- Konu başlık, metin içerik olur. Düz metin bölümü yoksa HTML okunur metne çevrilir.
- İlk görsel ek bildirim görseli olur.
- Date başlığı bildirimin zamanı olur.
- Aynı e-posta (aynı
Message-ID) iki kez gelirse tek bildirim olur.
Faturalarını, sistem uyarılarını ya da form e-postalarını bu adrese yönlendir.
- İzinli göndericiler: satır başına bir adres ya da
@alan.com. Boşsa herkes gönderebilir. İzinsiz gönderenin e-postası bildirim olmaz. - Tip, öncelik, ses: adresin varsayılanları.
- Kurallar: sırayla denenir, ilk tutan kural uygulanır.
- Koşul: konu, metin ya da gönderen bir metni içerir ya da bir regex’e uyar.
- Eylem: tip, öncelik ve ses seç ya da Bildirim gönderme.
- Regex’in adlı grupları tipin şablonunda değişken olur. Örneğin konu
Sipariş #(?P<no>\d+): (?P<tutar>[\d.,]+ TL)kuralıyla eşleşirse tipin başlığında{{no}}ve{{tutar}}kullanılabilir (Bildirim tipleri).
- Örnekle dene: gönderen, konu ve metni yapıştır. Hangi bildirimin gideceğini (ya da neden gitmeyeceğini) gösterir, bir şey göndermez.
- Adresi değiştir: adres sızdıysa yeni adres verir; eski adres hemen çalışmayı bırakır.
E-posta en fazla 10 MB olabilir. Metin paketindeki karakter sınırına kısaltılır, tamamı uygulamada açılınca da görünmez. Tanınmayan adrese gelen e-posta göndericiye geri döner.
Webhook
Bölüm başlığı “Webhook”Yeni webhook bir adres verir. Bu adresi diğer servisin webhook ayarına yapıştır, her olay bildirim olur. Adres gizlidir: API anahtarı istemez, adresi bilen bildirim gönderebilir. Gönderen servis imza destekliyorsa İmza sırrı’nı gir; imzası tutmayan istek bildirim olmaz. Sır bir daha gösterilmez.
| Şablon | Nereye yapıştırılır | Bildirim |
|---|---|---|
| Stripe | Workbench → Webhooks → Uç nokta ekle; imza sırrı whsec_… |
Ödeme alındı (tutar, e-posta, kasa sesi), fatura ödendi, iade, itiraz ve başarısız ödeme (yüksek öncelik), abonelik |
| GitHub | Repo → Settings → Webhooks; content type application/json, Secret |
Push (commit sayısı, dal, ilk satır), pull request, issue, release, başarısız iş akışı (yüksek öncelik), yıldız |
| Shopify | Ayarlar → Bildirimler → Webhook’lar (JSON); imza anahtarı aynı sayfada | Yeni sipariş, sipariş ödendi / iptal, iade, yeni müşteri |
| WooCommerce | Ayarlar → Gelişmiş → Webhook’lar; Gizli (harf ve rakam kullan) | Yeni sipariş, sipariş durumu, yeni müşteri |
| Grafana | Alerting → Contact points → Webhook; HMAC başlığı X-Grafana-Alerting-Signature, zaman başlığı X-Grafana-Alerting-Timestamp |
Uyarı (yüksek öncelik), düzeldi |
| Uptime Kuma | Bildirim kur → Webhook, gövde application/json (imza yok) |
Çöktü (yüksek öncelik), düzeldi, deneme |
| Genel | Kendi sistemin | Alan eşlemesiyle ya da gövdedeki title, message, url, priority alanlarıyla |
Aynı olay (Stripe olay kimliği, GitHub / Shopify / WooCommerce teslim kimliği, genelde Idempotency-Key başlığı) 24 saat içinde tekrar gelirse ikinci bildirim olmaz.
Genel şablon
Bölüm başlığı “Genel şablon”Alan eşlemede {{ $.yol }} yerleri JSON gövdesinden doldurulur: $.order.id, $.items[0].name, $['özel alan'].
Başlık: Yeni başvuru: {{ $.form.name }}Metin: {{ $.fields[0].value }} ({{ $.email }})Eşleme boşsa gövdedeki title, message (ya da text), url ve priority alanları kullanılır. Gövde JSON değilse olduğu gibi metin olur. Gövde en fazla 100 KB olabilir.
İmza istersen gövdenin HMAC-SHA256’sını onaltılık olarak X-PushBell-Signature: sha256=<imza> başlığıyla gönder:
body='{"title":"Yedek bitti","message":"34 GB"}'sig=$(printf '%s' "$body" | openssl dgst -sha256 -hmac "$SIR" -hex | sed 's/.* //')curl -X POST "https://api.pushbell.app/v1/hooks/…" -H "Content-Type: application/json" \ -H "X-PushBell-Signature: sha256=$sig" -d "$body"Örnekle dene başlıkları ve gövdeyi yapıştırıp sonucu gösterir. İmza sırrı varsa örnekte de denetlenir.