Notifikasi Direct - Kunci API Pribadi untuk Peringatan Instan
Kirim notifikasi langsung dengan kunci API pribadi - tanpa menyiapkan saluran. Buat kunci Direct lalu picu peringatan instan berisi judul, isi, dan tautan.
Notifikasi Direct memungkinkan Anda mengirim peringatan pribadi lewat satu URL webhook sederhana — tanpa menyiapkan saluran, tanpa templat, tanpa pelanggan. Cukup buat kunci, panggil URL-nya, dan notifikasi langsung masuk ke perangkat Anda.
Apa Itu Direct?
Saluran sangat cocok untuk notifikasi terstruktur berbasis templat yang bisa dibagikan ke orang lain. Namun kadang Anda hanya butuh notifikasi pribadi yang cepat — build selesai, skrip rampung, sensor terpicu. Direct dirancang persis untuk itu.
Dengan Direct, Anda mendapat kunci API pribadi yang terhubung ke sebuah URL webhook unik. Saat Anda memanggil URL itu dengan judul dan isi, notifikasi dikirim langsung kepada Anda. Tidak perlu konfigurasi saluran.
Kapan Memakai Direct dan Kapan Memakai Saluran
| Direct | Saluran | |
|---|---|---|
| Penyiapan | Buat kunci, pakai URL-nya | Buat saluran, atur templatnya |
| Penerima | Hanya Anda | Siapa pun yang berlangganan |
| Templat | Tidak ada — judul/isi ditentukan tiap permintaan | Templat yang bisa diatur dengan variabel |
| Kondisi | Tidak ada | Mendukung pengiriman bersyarat |
| Paling cocok untuk | Skrip pribadi, peringatan cepat, otomatisasi | Peringatan bersama, alur kerja terstruktur |
Memulai
1. Buat Kunci Direct
Di aplikasi Echobell, ketuk Direct di bagian atas daftar saluran Anda. Lalu ketuk Create untuk membuat kunci Direct baru. Beri nama yang deskriptif (misalnya, "Build Server", "Home Lab", "Trading Bot").
2. Salin URL Webhook
Setiap kunci Direct punya URL webhook unik dengan format berikut:
https://hook.echobell.one/d/{your-key-token}
Anda bisa menemukan dan menyalin URL ini dari tampilan detail kunci Direct di aplikasi. Token-nya disembunyikan secara bawaan demi keamanan — ketuk untuk menampilkannya.
3. Kirim Notifikasi
Panggil URL webhook itu dengan body JSON yang berisi title dan body:
POST https://hook.echobell.one/d/YOUR_KEY_TOKEN
Content-Type: application/json
{
"title": "Build Complete",
"body": "Project X built successfully in 3m 42s"
}
Selesai — Anda akan langsung menerima notifikasinya.
Membuat Permintaan
Permintaan POST (Disarankan)
Kirim body JSON berisi konten notifikasi Anda:
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"
}
Permintaan GET
Anda juga bisa mengirim parameter lewat query string:
GET https://hook.echobell.one/d/YOUR_KEY_TOKEN?title=Alert&body=CPU+at+95%25
POST Only
Setiap kunci Direct punya pengaturan POST Only sendiri di aplikasi Echobell. Pengaturan ini nonaktif secara bawaan.
Saat aktif, hanya POST yang bisa memicu kunci tersebut. Permintaan GET ke URL webhook-nya akan ditolak dengan 405 Method Not Allowed, dan tidak ada notifikasi yang dikirim:
{
"success": false,
"notificationTriggered": false,
"message": "This trigger only accepts POST requests; GET triggering is disabled in its settings."
}
Permintaan HEAD tidak terpengaruh — permintaan itu selalu dijawab 200 dan tidak pernah memicu notifikasi, baik POST Only aktif maupun tidak.
Pengaturan ini berlaku per kunci, jadi Anda bisa menyimpan satu kunci yang ramah GET untuk perintah shell satu baris, dan satu kunci POST-only untuk URL yang ditempel ke obrolan atau halaman wiki.
Kolom Permintaan
Semua nama kolom tidak membedakan huruf besar-kecil — title, Title, dan TITLE diperlakukan sama, baik dikirim lewat body JSON maupun query string.
| Kolom | Tipe | Wajib | Deskripsi |
|---|---|---|---|
title | string | Tidak | Judul notifikasi. Bila dikosongkan, standarnya "Direct Notification". |
body | string | Tidak | Teks isi notifikasi. |
externalLink | string | Tidak | Tautan yang bisa diklik pada catatan notifikasi. |
notificationType | string | Tidak | Tingkat urgensi notifikasi. Menerima active, time-sensitive, atau calling. Standarnya active. Lihat Jenis Notifikasi. |
Jenis Notifikasi
Anda bisa mengatur tingkat urgensi notifikasi Direct memakai kolom notificationType:
| Tipe | Deskripsi |
|---|---|
active | Notifikasi standar, dikirim seperti biasa. Ini adalah nilai bawaan. |
time-sensitive | Notifikasi berprioritas tinggi yang bisa menembus mode Fokus. |
calling | Peringatan mirip panggilan untuk situasi kritis. Memerlukan langganan premium yang aktif. Tanpa premium, akan turun menjadi time-sensitive. |
Contoh dengan jenis notifikasi:
POST https://hook.echobell.one/d/YOUR_KEY_TOKEN
Content-Type: application/json
{
"title": "Server Down",
"body": "Production server is unresponsive",
"notificationType": "calling"
}
Format Respons
Permintaan yang berhasil mengembalikan:
{
"success": true,
"message": "Notification triggered successfully."
}
Jika kuncinya tidak valid atau tidak ditemukan (perhatikan bahwa ini tetap mengembalikan HTTP 200):
{
"success": false,
"message": "Direct key not found."
}
Mengelola Kunci Direct
Beberapa Kunci Sekaligus
Anda bisa membuat beberapa kunci Direct untuk keperluan berbeda:
- "CI Server" — untuk notifikasi build dan deployment
- "Home Automation" — untuk peringatan sensor IoT
- "Cron Jobs" — untuk hasil tugas terjadwal
- "Trading Bot" — untuk peringatan pasar
Setiap kunci punya URL webhook-nya sendiri yang independen. Catatan notifikasi otomatis dikaitkan dengan kunci yang memicunya, sehingga Anda mudah mengenali layanan mana yang mengirim tiap notifikasi.
Reset Token
Jika URL webhook sebuah kunci bocor, Anda bisa mereset token-nya dari tampilan detail kunci tersebut. Langkah ini membuat URL baru dan langsung membatalkan URL lama. Perbarui skrip atau layanan apa pun yang masih memakai URL lama.
Menghapus Kunci
Menghapus kunci Direct akan membatalkan URL webhook-nya secara permanen. Semua permintaan ke URL lama akan gagal.
Kasus Penggunaan Umum
Skrip Shell
# Beri notifikasi saat tugas yang lama berjalan selesai
./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 Job
# Di crontab: beri notifikasi saat backup selesai
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 }}"}'
Praktik Terbaik
Keamanan
- Perlakukan URL kunci Direct sebagai rahasia — siapa pun yang punya URL itu bisa mengirimi Anda notifikasi
- Gunakan variabel lingkungan untuk menyimpan token kunci di skrip dan CI/CD
- Reset token segera jika Anda menduga sebuah kunci telah bocor
- Buat kunci terpisah untuk layanan yang berbeda agar bisa dicabut satu per satu
Penataan
- Beri nama kunci secara deskriptif — Anda akan berterima kasih pada diri sendiri saat mengelola banyak kunci
- Pakai satu kunci per layanan — memudahkan mengenali sumber notifikasi dan mencabut aksesnya
- Hapus kunci yang tidak dipakai — perkecil permukaan serangan Anda
Penanganan Kesalahan
Saat mengintegrasikan Direct ke dalam skrip Anda, ambil keputusan berdasarkan kolom JSON success, bukan berdasarkan status HTTP:
- 200 OK: Permintaannya diterima. Periksa body JSON-nya:
success: trueberarti notifikasi terpicu;success: falseberarti tidak. Kunci Direct yang tidak dikenal atau sudah direset mengembalikan HTTP200dengan{ "success": false, "message": "Direct key not found." }— bukan404. - 400 Bad Request: Panjang token kuncinya salah. Perbaiki URL-nya.
- 405 Method Not Allowed: Kunci tersebut mengaktifkan POST Only sementara permintaannya bukan
POST. Ubah pemanggilnya menjadiPOST, atau matikan pengaturan itu.
Echobell tidak membatasi laju panggilan Direct, jadi tidak ada respons 429.
Privasi dan Keamanan
Apa yang Disimpan
-
Di Server Kami:
- Metadata kunci Direct (nama, token ter-hash, pemilik)
- Payload permintaan diproses sementara dan disimpan untuk keperluan pengiriman
-
Di Perangkat Anda:
- Isi notifikasi (judul, isi)
- Riwayat pemicu dan cap waktu
- Tautan eksternal
Apa yang Tidak Disimpan
- Kami tidak menyimpan payload permintaan secara permanen setelah pengiriman
- Kami tidak menganalisis isi notifikasi
- Kami tidak membagikan data Anda ke pihak ketiga
Pemecahan Masalah
Tidak Menerima Notifikasi
- Periksa URL webhook-nya — salin langsung dari aplikasi, cek apakah ada spasi berlebih
- Pastikan kuncinya masih ada — mungkin kunci itu sudah dihapus atau token-nya direset
- Pastikan izin notifikasi aktif — aplikasi Echobell memerlukan izin notifikasi di perangkat Anda
- Uji dengan curl — untuk memastikan masalahnya bukan pada klien HTTP Anda:
curl -X POST https://hook.echobell.one/d/YOUR_KEY_TOKEN \ -H "Content-Type: application/json" \ -d '{"title": "Test", "body": "Hello from Direct"}'
Kesalahan Permintaan
- Kesalahan parsing JSON: Pastikan header
Content-Type: application/jsonsudah disetel dan body-nya berupa JSON yang valid - Kunci tidak ditemukan: Body dengan
"success": falsedan pesan"Direct key not found."berarti token-nya sudah direset atau kuncinya dihapus (status HTTP-nya tetap200)
Masih Bermasalah?
- Kunjungi Pusat Dukungan kami untuk bantuan lebih lanjut
- Hubungi kami di echobell@weelone.com dengan menyertakan:
- Deskripsi masalahnya
- Contoh permintaan (dengan token disamarkan)
- Perilaku yang diharapkan dan yang sebenarnya terjadi
Langkah Berikutnya
- Integrasi Webhook — Untuk notifikasi bersama berbasis templat dengan saluran
- Sintaks Templat — Pelajari templat notifikasi saluran
- Pemicu Email — Picu notifikasi lewat email
- Jelajahi Integrasi — Hubungkan dengan perkakas yang sudah Anda pakai