İçeriğe geç

Abone olma linkleri

Abone olma linki, başkalarının senin bildirimlerini kendi PushBell uygulamalarında almasını sağlar: müşterine sipariş durumu, kullanıcına sunucu uyarısı, abonelerine duyuru. Linki açan kişi PushBell hesabıyla girer, Abone ol’a basar ve projene özel bir abone anahtarı (u_…) oluşur. Kişinin e-postası ve asıl kullanıcı anahtarı seninle paylaşılmaz. İstediği zaman uygulamada Ayarlar → Aboneliklerim’den çıkar.

Panelde projenin Aboneler sekmesinde Yeni link:

  • Grup: abone olan kişi seçtiğin gruba eklenir. Bildirimi grubun anahtarına gönderirsin; herkese gider. Duyurular ve “herkes alsın” bildirimleri için.
  • Web: kişi abone olunca tarayıcı Başarı adresi’ne pushbell_user_key parametresiyle döner (Pushover uyumluluğu için pushover_user_key da gelir). Bu anahtarı kendi kullanıcı kaydında sakla ve o kişiye to ile gönder. Kişiye özel bildirimler için (ör. “siparişin kargoya verildi”).

Link https://app.pushbell.app/subscribe/… biçimindedir. Panel linkin QR kodunu (PNG) ve sitene koyacağın PushBell ile abone ol butonunun kodunu verir. Link uygulamanın kurulu olduğu telefonda doğrudan uygulamada açılır.

{ "title": "Siparişin kargoda", "message": "Takip no: 1Z999", "to": ["u_kişinin_abone_anahtarı"] }

Aynı kişi linki tekrar açıp yeniden abone olursa aynı anahtarı alır. Kaç abonen olabileceği paketine bağlı.

Başarı adresine gelen anahtarı herkes sahte bir istekle de gönderebilir. Bunu önlemek için:

  1. Ziyaretçinin oturumuna rastgele bir state değeri yaz.
  2. Linke kendi dönüş adresini success parametresiyle (URL kodlu) ver; adres linkin başarı adresiyle başlamalı: https://app.pushbell.app/subscribe/KOD?success=https%3A%2F%2Fornek.com%2Fpushbell%3Fstate%3DX7f2.
  3. Dönüşte state’i oturumdakiyle karşılaştır; tutmuyorsa anahtarı kaydetme.
  • Kişi uygulamada Aboneliklerim’den çıkarsa anahtarı çalışmayı bırakır, grup linkiyle eklendiği gruptan da düşer.
  • Web linkini tekrar açıp Abonelikten çık derse tarayıcı başarı adresine boş pushbell_user_key, pushover_unsubscribed=1 ve pushover_unsubscribed_user_key=<eski anahtar> ile döner.
  • Panelde aboneyi kendin de çıkarabilirsin.

Linke bir olay adresi verirsen abone olma ve çıkma olayları oraya imzalı POST olarak gelir (webhook imzası), 24 saate kadar tekrar denenir:

{ "event": "subscriber.subscribed", "project_id": "…", "link_id": "…", "subscribed_key": "u_…", "at": 1793057112 }

Çıkışta event subscriber.unsubscribed olur.

Abone olma linklerinden önce kişilerin asıl kullanıcı anahtarlarını topladıysan, her birini projeye özel abone anahtarına çevir:

Terminal window
curl -X POST https://api.pushbell.app/v1/subscriptions/migrate \
-H "Authorization: Bearer pb_live_…" -H "Content-Type: application/json" \
-d '{"subscription": "LINKIN_KODU", "user": "u_asıl_anahtar"}'

Yanıttaki subscribed_key’i asıl anahtarın yerine sakla; kişi artık uygulamasından abonelikten çıkabilir. Pushover’daki gibi POST /1/subscriptions/migrate.json (token, subscription, user) da çalışır.