Alarm kurallarının yanı sıra iki araç bildirim gönderir: Kurallar kartındaki bir kuralın Tell people eylemi ve bir akışın Notify bloğu. İkisi de alarmlarla aynı bildirim hizmetinden geçer; aynı kanallar ve kişisel tercihler geçerlidir. Tekrarlayan bir olayın insanları bombardımana tutmaması için bekleme süresi (cooldown) eklerler.
Kurallar kartındaki bir kuraldan
Tell people eyleminin iki alanı vardır:
| Alan | Anlamı |
|---|---|
| Who | Owners, Admins ve/veya Members seçeneklerini işaretleyin. |
| Message | En fazla 1.000 karakter. |
- Bildirimin başlığı kuralın adıdır; metni ise iletidir.
- Kullanıcılara, rollere, özel rollere ve ekiplere uygulamada, kurulduysa push ile ve bağlı sohbet uygulamalarında ulaşılır; bunlara asla e-posta veya SMS gönderilmez. Yalnızca
addresssatırları e-posta alır, yalnızcaphonesatırları SMS alır. - Kartta roller seçersiniz. Kurallar API’si ayrıca tek kullanıcıları (
{ "kind": "user", "userId": "…" }) ve ekipleri ({ "kind": "team", "teamId": "…" }) kabul eder; en fazla 20 alıcı ve birchannelslistesi kullanılabilir. - 20’den fazla aktif üyesi olan bir rol veya ekip, yarım bilgilendirme yapılmak yerine reddedilir ve çalıştırma kaydına hata yazılır.
- Üyelere zil simgesi, push ve sohbet uygulamaları üzerinden ulaşılır. Kurallar kartında e-posta adresleri veya telefon numaraları belirtilemez; bunlar için bir akış kullanın.
- Tell people, kural yalnızca Also runs in Manual olarak işaretlenmişse Manuel modda çalışmaya devam eder.
{ "id": "a3", "kind": "notify", "recipients": [ { "kind": "role", "role": "ADMIN" }, { "kind": "team", "teamId": "…" } ], "channels": ["inapp"], "text": "Cold room door open for 10 minutes" }
Bkz. Rules card: actions.
Bir akıştan: Notify bloğu
Notify bloğu kullanıcılara, rollere, ekiplere, e-posta adreslerine ve telefon numaralarına gönderir ve iletiyi bir sonraki adıma aktarır.
| Ayar | Anlamı | Sınırlar |
|---|---|---|
| recipients (alıcılar) | Bir tür ve bir değerden oluşan satırlar: user (bir kullanıcı kimliği), address (virgülle ayrılmış bir veya daha fazla e-posta adresi), phone (uluslararası biçimde numaralar), role (OWNER, ADMIN, USER), custom_role, team veya originator_owner (iletinin kaynağının sahipleri; bir modül bunları tanımlıyorsa). Değerler şablondur. | 20 satır; genişletmeden sonra 20 alıcı |
| channels (kanallar) | Bu kanal kimlikleriyle sınırlayın. Boşsa: her alıcının kendi seçimi. | |
| urgency (aciliyet) | normal or critical. Critical skips recipients’ preferences unless the organisation switched that off. | |
| title, text (başlık, metin) | Şablon olarak iletinin kendisi. | 200 ile 4.000 karakter arası |
| format (biçim) | text veya e-posta için html (diğer kanallar düz metin alır). | |
| subject, reply_to, cc, bcc (konu, yanıt adresi, cc, bcc) | E-posta seçenekleri. Her cc ve bcc adresi kendi iletisini alır. | |
| attachments (ekler) | E-posta için dosyalar. | 10 dosya, toplam 1 MiB |
| reason (neden) | Bekleme süresi açısından iki bildirimi “aynı” yapan şey. | 200 karakter |
Tüm blok başvurusu: Alarm, command and notify blocks.
Şablonlar
{{ }} içindeki değerler iletiden doldurulur, örneğin:
title: {{ msg.metadata.deviceName }}: level {{ msg.payload.level }} %
text: Tank level fell below the limit at {{ msg.metadata.deviceName }}.
HTML metnine eklenen bir değer kaçışlanır; böylece bir ileti e-postaya metin ekleyebilir, ancak asla işaretleme ekleyemez.
Bekleme süresi
Tekrarlayan bir olay yüzlerce ileti göndermemelidir. Aynı akıştan gelen aynı reason değerine sahip bir bildirim, her alıcıya bekleme süresi başına bir kez gönderilir: 10 dakika, planınız başka bir süre belirlemediği sürece (en az 1 dakika).
- Neden, bloğun
reasonayarıdır; bu ayar yoksa bildirimin sözcükleridir. Her okumayla değişen bir metin (“Level 41 %”, “Level 40 %”) her seferinde yeni bir nedendir; bunları birleştirmek içinreasonayarlayın (örneğinlevel of {{ msg.metadata.deviceName }}). - Beklemeye alınan alıcı dışarıda bırakılır; diğerleri yine alır. Kimse kalmazsa ileti hata olmadan devam eder.
- Bekleme süresi bittikten sonra gelen bir sonraki bildirim “(+n)” ile başlar: bu sürede beklemeye alınan bildirim sayısıdır.
- Bir alıcı yalnızca bir kanal teslim ettiğinde bilgilendirilmiş sayılır. Tüm kanallar başarısız olduysa veya tercihler ya da sessiz saatler nedeniyle beklemeye alındıysa, bir sonraki bildirim onlara gönderilir.
- Kurallar kartındaki Tell people, altta bir akış bloğudur; bu yüzden aynı bekleme süresine sahiptir ve kural adı ile iletiye göre anahtarlanır.
Geciken iletiler
Yaşam süresinin (time-to-live) dolmasından sonra işlenen bir ileti (bir kesintiden sonra) kimseye bildirim göndermez: saatler önceki okumalar insanları uyarmamalıdır. Bu durum “too old” (çok eski) olarak sayılır.
Kotalar
Göndermeden önce blok, kullanacağı kanalların aylık e-posta ve SMS kotalarını denetler. Kotası olmayan (veya planda bulunmayan) bir kanal dışarıda bırakılır ve sonuçta adı belirtilir; diğerleri yine gönderilir. Yalnızca tüm kanalların kotası dolduğunda blok limit hatasıyla sonlanır.
Sonuç
İleti, msg.metadata.notify ile devam eder:
| Alan | Anlamı |
|---|---|
recipients | Kaç alıcıya gönderim yapıldığı |
delivered / failed | Teslim edilen / başarısız olan kanallar |
suppressed | Bir tercih, sessiz saatler veya engellenmiş bir adres nedeniyle beklemeye alınan kanallar |
invalid | Geçerli bir kullanıcı kimliği, adres veya numara olmayan girişler |
quota | Kota nedeniyle dışarıda bırakılan kanallar |
held | Bekleme süresi nedeniyle beklemeye alınan alıcılar |
Hatalar: no_recipients, too_many_recipients, members_unavailable, invalid_attachment, notify_failed (her teslimat başarısız), limit.
Hangisini kullanmalı
| İhtiyaç | Kullanılacak |
|---|---|
| Bir alarm açıldığında, hatırlatmalar ve fırtına koruması ile insanlara haber vermek | Alarm kuralının notify bloğu. Alarm notifications in depth |
| Bir kuralın yaptığı bir şeyi bir role bildirmek | Tell people |
| Ekli e-posta, SMS, dış bir posta kutusu, veriden özel metin | Akış Notify bloğu |

