Direct Bildirimleri - Anında Uyarılar için Kişisel API Anahtarları
Kanal kurmadan, kişisel bir API anahtarıyla doğrudan bildirim gönderin. Direct anahtarı oluşturun; başlık, gövde ve bağlantıyla anında uyarı tetikleyin.
Direct bildirimleri, basit bir webhook URL'siyle kişisel uyarılar göndermenizi sağlar — kanal kurulumu, şablon veya abone gerekmez. Bir anahtar oluşturun, URL'yi çağırın ve cihazınızda anında bildirim alın.
Direct Nedir?
Kanallar; başkalarıyla paylaşılabilen, yapılandırılmış ve şablonlu bildirimler için harikadır. Ama bazen yalnızca hızlı ve kişisel bir bildirim istersiniz — bir derleme bitti, bir betik tamamlandı, bir sensör tetiklendi. Direct tam olarak bunun için tasarlandı.
Direct ile benzersiz bir webhook URL'sine karşılık gelen kişisel bir API anahtarı elde edersiniz. Bu URL'yi bir başlık ve gövdeyle çağırdığınızda bildirim doğrudan size gönderilir. Herhangi bir kanal yapılandırmasına gerek yoktur.
Direct mi, Kanallar mı?
| Direct | Kanallar | |
|---|---|---|
| Kurulum | Anahtar oluşturun, URL'yi kullanın | Kanal oluşturun, şablonları yapılandırın |
| Kitle | Yalnızca siz | Abone olan herkes |
| Şablonlar | Yok — başlık/gövdeyi her istekte siz belirtirsiniz | Değişkenlerle yapılandırılabilir şablonlar |
| Koşullar | Yok | Koşullu iletim desteklenir |
| En uygun kullanım | Kişisel betikler, hızlı uyarılar, otomasyon | Paylaşılan uyarılar, yapılandırılmış iş akışları |
Başlarken
1. Direct Anahtarı Oluşturun
Echobell uygulamasında kanal listenizin en üstündeki Direct'e dokunun. Ardından yeni bir Direct anahtarı oluşturmak için Oluştur'a dokunun. Anahtara açıklayıcı bir ad verin (örneğin "Derleme Sunucusu", "Ev Laboratuvarı", "Trading Botu").
2. Webhook URL'sini Kopyalayın
Her Direct anahtarının şu biçimde benzersiz bir webhook URL'si vardır:
https://hook.echobell.one/d/{your-key-token}
Bu URL'yi uygulamadaki Direct anahtarı ayrıntı görünümünden bulup kopyalayabilirsiniz. Token güvenlik nedeniyle varsayılan olarak gizlidir — göstermek için dokunun.
3. Bildirim Gönderin
Webhook URL'sini, title ve body içeren bir JSON gövdesiyle çağırın:
POST https://hook.echobell.one/d/YOUR_KEY_TOKEN
Content-Type: application/json
{
"title": "Build Complete",
"body": "Project X built successfully in 3m 42s"
}
Hepsi bu kadar — bildirimi anında alırsınız.
İstek Gönderme
POST İsteği (Önerilen)
Bildirim içeriğinizi JSON gövdesiyle gönderin:
POST https://hook.echobell.one/d/YOUR_KEY_TOKEN
Content-Type: application/json
{
"title": "Deployment Status",
"body": "v2.1.0 deployed to production",
"externalLink": "https://dashboard.example.com/deploys/latest"
}
GET İsteği
Parametreleri sorgu dizesiyle de geçirebilirsiniz:
GET https://hook.echobell.one/d/YOUR_KEY_TOKEN?title=Alert&body=CPU+at+95%25
POST Only
Her direct anahtarının Echobell uygulamasında kendi POST Only ayarı vardır. Varsayılan olarak kapalıdır.
Açık olduğunda o anahtarı yalnızca POST tetikleyebilir. Webhook URL'sine yapılan bir GET isteği 405 Method Not Allowed ile reddedilir ve hiçbir bildirim gönderilmez:
{
"success": false,
"notificationTriggered": false,
"message": "This trigger only accepts POST requests; GET triggering is disabled in its settings."
}
HEAD istekleri bundan etkilenmez — POST Only açık da olsa kapalı da olsa 200 yanıtı verir ve asla bildirim tetiklemez.
Ayar anahtar bazlıdır; böylece kabuk tek satırlıkları için GET'e uygun bir anahtar, sohbete veya wiki sayfalarına yapıştırılan URL'ler için de yalnızca POST kabul eden bir anahtar tutabilirsiniz.
İstek Alanları
Tüm alan adları büyük/küçük harfe duyarsızdır — ister JSON gövdesiyle ister sorgu dizesiyle geçirilsin, title, Title ve TITLE aynı şekilde ele alınır.
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
title | string | Hayır | Bildirim başlığı. Belirtilmezse varsayılan olarak "Direct Notification" kullanılır. |
body | string | Hayır | Bildirim gövde metni. |
externalLink | string | Hayır | Bildirim kaydında gösterilen tıklanabilir bağlantı. |
notificationType | string | Hayır | Bildirimin aciliyet düzeyi. active, time-sensitive veya calling değerlerini kabul eder. Varsayılan active. Bkz. Bildirim Türleri. |
Bildirim Türleri
Direct bildirimlerinin aciliyet düzeyini notificationType alanıyla denetleyebilirsiniz:
| Tür | Açıklama |
|---|---|
active | Standart bildirim, normal şekilde iletilir. Varsayılan budur. |
time-sensitive | Odak modlarını aşabilen yüksek öncelikli bildirim. |
calling | Kritik durumlar için arama benzeri uyarı. Etkin bir premium aboneliği gerektirir. Premium olmadan time-sensitive düzeyine düşer. |
Bildirim türlü örnek:
POST https://hook.echobell.one/d/YOUR_KEY_TOKEN
Content-Type: application/json
{
"title": "Server Down",
"body": "Production server is unresponsive",
"notificationType": "calling"
}
Yanıt Biçimi
Başarılı bir istek şunu döndürür:
{
"success": true,
"message": "Notification triggered successfully."
}
Anahtar geçersizse veya bulunamazsa (bu durumda bile HTTP 200 döndüğüne dikkat edin):
{
"success": false,
"message": "Direct key not found."
}
Direct Anahtarlarını Yönetme
Birden Fazla Anahtar
Farklı amaçlar için birden fazla Direct anahtarı oluşturabilirsiniz:
- "CI Sunucusu" — derleme ve dağıtım bildirimleri için
- "Ev Otomasyonu" — IoT sensör uyarıları için
- "Cron Görevleri" — zamanlanmış görev sonuçları için
- "Trading Botu" — piyasa uyarıları için
Her anahtarın kendi bağımsız webhook URL'si vardır. Bildirim kayıtları, kendilerini tetikleyen anahtarla otomatik olarak ilişkilendirilir; böylece her bildirimi hangi servisin gönderdiğini kolayca anlarsınız.
Token'ı Sıfırlama
Bir anahtarın webhook URL'si ele geçirilirse, token'ı anahtarın ayrıntı görünümünden sıfırlayabilirsiniz. Bu işlem yeni bir URL üretir ve eskisini anında geçersiz kılar. Eski URL'yi kullanan betik veya servisleri güncelleyin.
Anahtar Silme
Bir Direct anahtarını silmek, webhook URL'sini kalıcı olarak geçersiz kılar. Eski URL'ye yapılan tüm istekler başarısız olur.
Yaygın Kullanım Senaryoları
Kabuk Betikleri
# Uzun süren bir görev bittiğinde bildirim gönder
./run-migration.sh && \
curl -X POST https://hook.echobell.one/d/YOUR_KEY_TOKEN \
-H "Content-Type: application/json" \
-d '{"title": "Migration Complete", "body": "Database migration finished successfully"}'
Cron Görevleri
# crontab içinde: yedekleme tamamlandığında bildir
0 2 * * * /usr/local/bin/backup.sh && curl -s -X POST https://hook.echobell.one/d/YOUR_KEY_TOKEN -H "Content-Type: application/json" -d '{"title": "Backup Done", "body": "Nightly backup completed"}'
Python
import requests
requests.post(
"https://hook.echobell.one/d/YOUR_KEY_TOKEN",
json={
"title": "Training Complete",
"body": f"Model accuracy: {accuracy:.2%}",
"externalLink": "https://wandb.ai/runs/abc123"
}
)
Node.js
await fetch("https://hook.echobell.one/d/YOUR_KEY_TOKEN", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
title: "Deploy Complete",
body: `Version ${version} deployed to production`,
}),
});
GitHub Actions
- name: Notify via Echobell Direct
if: always()
env:
ECHOBELL_DIRECT_URL: ${{ secrets.ECHOBELL_DIRECT_URL }}
run: |
curl -X POST "$ECHOBELL_DIRECT_URL" \
-H "Content-Type: application/json" \
-d '{"title": "Build ${{ job.status }}", "body": "${{ github.repository }} @ ${{ github.sha }}"}'
En İyi Uygulamalar
Güvenlik
- Direct anahtarı URL'lerini gizli bilgi gibi ele alın — URL'ye sahip olan herkes size bildirim gönderebilir
- Betiklerde ve CI/CD'de anahtar token'larını saklamak için ortam değişkenleri kullanın
- Bir anahtarın ele geçirildiğinden şüpheleniyorsanız token'ları hemen sıfırlayın
- Ayrı ayrı iptal edebilmek için farklı servislere ayrı anahtarlar oluşturun
Düzen
- Anahtarları açıklayıcı adlandırın — çok sayıda anahtar yönetirken kendinize teşekkür edeceksiniz
- Her servis için bir anahtar kullanın — bildirim kaynağını belirlemeyi ve erişimi iptal etmeyi kolaylaştırır
- Kullanılmayan anahtarları silin — saldırı yüzeyinizi küçültün
Hata Yönetimi
Direct'i betiklerinize entegre ederken HTTP durumuna değil, JSON içindeki success alanına göre dallanın:
- 200 OK: İstek alındı. JSON gövdesini kontrol edin:
success: truebildirimin tetiklendiği,success: falseise tetiklenmediği anlamına gelir. Bilinmeyen veya sıfırlanmış bir Direct anahtarı, HTTP200ile birlikte{ "success": false, "message": "Direct key not found." }döndürür — bu bir404değildir. - 400 Bad Request: Anahtar token'ının uzunluğu hatalı. URL'yi düzeltin.
- 405 Method Not Allowed: Anahtarda POST Only açık ve istek
POSTdeğildi. ÇağrıyıPOST'a çevirin ya da ayarı kapatın.
Echobell, Direct çağrılarına hız sınırı uygulamaz; bu nedenle 429 yanıtı yoktur.
Gizlilik ve Güvenlik
Neler Saklanır
-
Sunucularımızda:
- Direct anahtarı meta verileri (ad, karma token, sahip)
- İstek yükü, iletim için geçici olarak işlenir ve saklanır
-
Cihazınızda:
- Bildirim içeriği (başlık, gövde)
- Tetikleyici geçmişi ve zaman damgaları
- Dış bağlantılar
Neler Saklanmaz
- İstek yüklerini iletimden sonra kalıcı olarak tutmayız
- Bildirim içeriğini analiz etmeyiz
- Verilerinizi üçüncü taraflarla paylaşmayız
Sorun Giderme
Bildirim Alamıyorum
- Webhook URL'sini doğrulayın — doğrudan uygulamadan kopyalayın, fazladan boşluk olup olmadığına bakın
- Anahtarın hâlâ var olduğunu kontrol edin — silinmiş veya token'ı sıfırlanmış olabilir
- Bildirim izinlerinden emin olun — Echobell uygulamasının cihazınızda bildirim iznine ihtiyacı vardır
- curl ile test edin — HTTP istemcinizden kaynaklanan sorunları eleyin:
curl -X POST https://hook.echobell.one/d/YOUR_KEY_TOKEN \ -H "Content-Type: application/json" \ -d '{"title": "Test", "body": "Hello from Direct"}'
İstek Hataları
- JSON ayrıştırma hatası:
Content-Type: application/jsonbaşlığının ayarlandığından ve gövdenin geçerli JSON olduğundan emin olun - Anahtar bulunamadı:
"Direct key not found."mesajlı"success": falsegövdesi, token'ın sıfırlandığını veya anahtarın silindiğini gösterir (HTTP durumu yine de200'dür)
Sorun Devam Ediyorsa
- Daha fazla yardım için Destek Merkezimizi ziyaret edin
- echobell@weelone.com adresinden bize şunlarla birlikte ulaşın:
- Sorunun açıklaması
- Örnek istek (token gizlenmiş olarak)
- Beklenen ve gerçekleşen davranış
Sonraki Adımlar
- Webhook Entegrasyonu — Kanallarla paylaşılan, şablonlu bildirimler için
- Şablon Sözdizimi — Kanal bildirim şablonlarını öğrenin
- E-posta Tetikleyicileri — Bildirimleri e-postayla tetikleyin
- Entegrasyonları Keşfedin — Halihazırda kullandığınız araçlara bağlanın