Durum Sayfası Aboneleri

Herkese açık durum sayfanızdaki ziyaretçilere e-posta aboneliği imkânı verin, kayıt akışı, çift onay belirteçleri ve tek tıkla abonelik iptali.

Herkese açık durum sayfanız, bugün siteyi ziyaret edenlere durumu anlatır. Ne var ki çoğu kullanıcı zaten kontrol etmez. Aboneler ise bir şey ters gittiğinde sinyali e-posta ile alır. Bu sayfa veri modelini, kayıt formunu, doğrulamayı, e-posta gönderimini, abonelik iptali akışını ve listeyi nasıl yöneteceğinizi anlatır.

Bir abone neye benzer?

Her durum sayfasının kendi abone listesi vardır. Bir abone kaydı şunları taşır:

  • E-posta: sayfa başına tekildir. Birebir saklanır ve küçük harfe normalleştirilir.
  • Doğrulama durumu: ziyaretçi doğrulama bağlantısına tıkladığında doğrulanmış duruma geçer (çift onay).
  • Doğrulama belirteci: doğrulama e-postası içinde gönderilen 48 karakterlik rastgele belirteç. Doğrulama tamamlanınca temizlenir.
  • İptal belirteci: her bildirimde gönderilen 48 karakterlik rastgele belirteç. Tek tıkla aboneliği sonlandırmayı sağlar.
  • Olay aboneliği: olayın açılma, güncellenme ve çözülme bildirimlerini almak.
  • Bakım aboneliği: planlı bakımın başlangıç ve bitiş bildirimlerini almak.
  • Abone olunan servisler: opsiyonel filtre; boş liste "bu sayfadaki tüm servisler" anlamına gelir.
  • Kayıt ve iptal zaman damgaları: yaşam döngüsü kaydı.

Sayfanın sahibi, sayfadaki Allow subscriptions anahtarıyla aboneliklerin mümkün olup olmadığını belirler.

Abone olma

Abonelikleri açık bir herkese açık durum sayfasında Subscribe düğmesi küçük bir form açar:

  1. E-posta adresi.
  2. Opsiyonel servis seçimi, yalnızca sayfada gerçekten bulunan servisler seçilebilir; sayfada olmayan bir servis gönderildiğinde istek reddedilir.
  3. Olay / bakım anahtarları (her ikisi de varsayılan açık).
  4. Gönder.

Uç nokta:

POST /api/public/status/:slug/subscribe
Content-Type: application/json
{
  "email": "[email protected]",
  "subscribeToIncidents": true,
  "subscribeToMaintenance": true,
  "monitorPublicIds": ["01HX..."]
}

Sunucu tarafında neler olur:

  • Sayfa slug ile aranır; sayfada abonelikler açık olmak zorundadır.
  • E-posta küçük harfe çevrilir ve baştaki/sondaki boşluklar atılır.
  • Her servis sayfanın servis listesine göre çözülür: sayfada olmayan bir servis isteği başarısız kılar.
  • Yeni bir abone kaydı, taze doğrulama ve iptal belirteçleriyle birlikte oluşturulur.
  • Aynı e-posta ile tekrar abone olmaya çalışmak hata vermez: yanıt 200 ile döner ve "This email is already subscribed to this status page." mesajını verir, defalarca çağırmak güvenlidir.

Uç nokta Subscription successful. Please check your email to verify. mesajıyla yanıtlar. Doğrulama e-postası anında gönderilir; ziyaretçi bağlantıya tıklayana kadar kayıt doğrulanmamış kalır ve hiçbir bildirim almaz.

Doğrulama

Doğrulama e-postası şu biçimde bir bağlantı taşır:

https://status.acme.com/verify?token=<dogrulama-belirteci>

Ön yüz şu uç noktayı çağırır:

GET /api/public/status/subscribe/verify?token=<dogrulama-belirteci>

Bu uç nokta kaydı doğrulanmış duruma alır ve doğrulama zaman damgasını işler. Geçersiz belirteçler 404 döner.

Abonelikten çıkma

Bildirim e-postaları, kayda özgü iptal belirteciyle çalışan tek tıkla iptal bağlantısı taşır:

POST /api/public/status/subscribe/unsubscribe
Content-Type: application/json
{ "token": "<iptal-belirteci>" }

Geriye dönük uyumluluk için POST /api/public/status/unsubscribe adında bir alternatif de bulunur.

Uç nokta iptal zaman damgasını işler ve kayıt artık hiçbir bildirim almaz. Belirteçler tek amaçlıdır, kullanıcıyı başka hiçbir işlem için kimlik doğrulamaz.

Gönderim kuralları

Aboneler şu durumlarda e-posta alır:

  • Sayfanın Incidents from your monitors ayarının listelediği bir sistem olayı açılır veya çözülür. Sayfa ayarı None ise servislerin sistem olayları için abonelere e-posta gitmez; sayfada kendi yayımladığınız olaylar ve güncellemeler her zaman gider.
  • Sayfaya manuel eklenen bir olay oluşturulur veya güncellenir (maintenance önem derecesiyle yayınlanan duyurular bakım abonelerine, diğer tüm önem dereceleri olay abonelerine gider).

Uygun her abone için gönderim:

  • Abone aboneliğini iptal etmişse atlanır.
  • Abone henüz doğrulanmamışsa atlanır (çift onay).
  • Değişiklik abonenin filtresinde olmayan bir servis üzerindeyse atlanır.
  • E-posta ile yapılır: bugün tek abone kanalı e-postadır.

Abone e-postaları dış kitleye göre yazılır: etkilenen servisi, okunabilir durumu ve zamanı belirtir. Ham monitör URL'leri, durum kodları veya hata metinleri gibi operatör detaylarını asla içermez.

Aboneleri yönetme

Bir durum sayfasının abonelerini yalnızca sayfanın sahibi görür. Bu adreslerden siz sorumlusunuz (KVKK ve GDPR açısından veri sorumlusu sizsiniz); bu yüzden onları kendiniz görüntüleyebilir, dışa aktarabilir ve silebilirsiniz.

Listeyi açmak için Status Pages listesindeki abone sayısına tıklayın ya da sayfayı Edit ile açıp en alttaki Subscribers bölümüne inin.

Görüntüleme

Her satırda adres, durumu, abone olduğu tarih ve hangi güncellemeleri istediği (olaylar, bakım, tüm sayfa ya da seçilen servisler) yer alır. Durum şunlardan biridir:

  • Active: onaylanmış ve hâlâ abone. Yalnızca bu adreslere e-posta gider.
  • Pending confirmation: onay bağlantısı henüz açılmamış. Adres hiçbir şey almaz.
  • Unsubscribed: bir e-postadaki bağlantıyla ayrılmış. Adres hiçbir şey almaz, ama kayıt siz silene kadar listede kalır.

Duruma göre filtreleyebilir, adresin herhangi bir parçasıyla arama yapabilirsiniz. Liste her seferinde 50 satır gösterir. Status Pages listesindeki sayı yalnızca aktif aboneleri sayar.

Silme

Bir ya da daha fazla satırı seçin, Delete selected düğmesine tıklayın ve onaylayın. Silme kalıcıdır: kayıt abonelikten çıkmış olarak işaretlenmez, tamamen kaldırılır ve geri getirilemez. Birisi verisinin silinmesini istediğinde bunu kullanın. O kişi daha sonra yeniden abone olursa sıfırdan başlar ve yeniden onay vermesi gerekir.

Her silme işlemi, kaldırılan adres sayısı ve her adresin maskelenmiş hâliyle (j***@example.com) denetim kaydınıza yazılır. Kayıtta tam adresler tutulmaz.

Dışa aktarma

Export CSV, geçerli durum filtresine ve aramaya uyan tüm adresleri indirir. Dosyanın sütunları email, status, subscribed_at, verified_at, unsubscribed_at, incidents ve maintenance'tır; zamanlar UTC ve ISO 8601 biçimindedir. =, +, - ya da @ ile başlayan bir hücrenin önüne ' eklenir; böylece hesap tablosu onu formül olarak değil metin olarak okur.

Dışa aktarmayı bir erişim talebini yanıtlamak (adresi arayıp dışa aktararak) ya da kendi kopyanızı saklamak için kullanın. Her dışa aktarma, adresler olmadan yalnızca satır sayısıyla denetim kaydınıza yazılır.

Uç noktalar

Kontrol paneli şu uç noktaları kullanır. :id durum sayfasının herkese açık kimliğidir ve istek sayfa sahibinden gelmelidir.

GET    /api/status-pages/:id/subscribers?status=active&q=example.com&limit=50&offset=0
DELETE /api/status-pages/:id/subscribers
       { "emails": ["[email protected]"] }
GET    /api/status-pages/:id/subscribers/export?status=all
  • status değeri all, active, pending ya da unsubscribed olabilir; limit en fazla 200'dür.
  • DELETE istek başına en fazla 500 adres alır ve { "deleted": <n> } döner. Sayfada olmayan adresler yok sayılır.
  • Yanıtlar hiçbir zaman doğrulama ya da iptal belirteci içermez.

Yol haritası

  • SMS / WhatsApp aboneleri: kritik altyapı sayfaları için ek kanallar; planın bildirim kotalarına bağlıdır.
  • Özet modu: düşük aktiviteli sayfalar için olay başına yerine haftalık özet.
  • Toplu CSV içe aktarımı: başka bir durum sayfası sağlayıcısından geçiş için.

Sık sorulan sorular

S: Bir ziyaretçi abone oldu ama e-posta almadığını söylüyor. C: Sırayla kontrol edin: (1) doğrulama bağlantısına tıkladı mı, doğrulanmamış aboneler hiçbir şey almaz; (2) e-posta spam klasörüne düşmüş olabilir; (3) aboneliğini iptal etmemiş olmalı; (4) etkilenen servis durum sayfasında ve (ayarladıysa) servis filtresinin içinde olmalı.

S: Filtrelemeyi abonenin değil, kendi tarafımda yapabilir miyim? C: Evet, Status Page → Services ekranından eklemeyerek servisleri herkese açık sayfadan gizleyin. Gizlenen servis aboneye görünmez ve kayıt sırasında seçilemez.

S: Birisi verisinin silinmesini istedi. Ne yapmalıyım? C: Sayfada Subscribers bölümünü açın, adresi arayın, seçin ve Delete selected düğmesine tıklayın. Kayıt kalıcı olarak kaldırılır. Elinizde ne tuttuğunuzu da göstermeniz gerekiyorsa önce dışa aktarın.

S: Aboneler bildirim kotama dahil edilir mi? C: Hayır, durum sayfası abone e-postaları ayrı gönderilir ve kullanıcı başına bildirim kotanızdan düşmez.

İlgili konular