43 de erori Redis. Un singur claxon.
Honk te anunță când e nevoie de tine: o plată eșuată în magazin, o cerere de ofertă pe site, apă pe jos în bucătărie, un server cu probleme. Repetările vin într-o singură notificare, iar restul așteaptă liniștit în inbox.
Merge cu WordPress și WooCommerce, n8n, Zapier, Make, Home Assistant, Uptime Kuma și cu codul tău. Vezi ghidurile În curând în App Store
Uneltele tale îi spun lui Honk ce s-a întâmplat.
Magazinul, un formular de contact, un senzor din casă, un workflow n8n sau un server îi trimite lui Honk un mesaj scurt. Honk îl salvează înainte să răspundă, așa că mesajul nu se pierde nici dacă ceva cade o secundă mai târziu.
cURL
curl -sS https://honk-me.app/v1/messages \
-H "Authorization: Bearer $HONK_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Redis connection failed",
"message": "Billing API could not connect to Redis (timeout after 5 s)",
"severity": "long",
"source": "billing-api",
"group_key": "billing/redis",
"event_type": "problem"
}' WooCommerce
// wp-content/mu-plugins/honk.php (the WooCommerce guide has the whole file)
add_action('woocommerce_order_status_failed', function ($order_id, $order) {
honk_send([
'title' => 'Payment failed: order #' . $order->get_order_number(),
'message' => $order->get_payment_method_title() . ' declined the payment.',
'severity' => 'long',
'event_type' => 'problem',
'group_key' => 'payments/' . $order->get_payment_method(),
], 'wc-' . $order_id . '-failed');
}, 10, 2); Home Assistant
# automations.yaml (the Home Assistant guide has the rest_command)
actions:
- action: rest_command.honk
data:
title: "Water leak in the kitchen"
message: "The sensor under the sink is wet."
severity: blast
event_type: problem
group_key: home/leak/kitchen n8n
Honk → Send message
Message: Billing API could not connect to Redis (timeout after 5 s)
Title: Redis connection failed
Severity: Long Honk (Error)
Additional Fields
Group Key: billing/redis
Event Type: Problem
Source: billing-api Laravel
use HonkMe\Laravel\Facades\Honk;
Honk::problem('billing/redis', 'Redis connection failed',
'Billing API could not connect to Redis (timeout after 5 s)'); CLI
honk-me problem --group-key billing/redis --source billing-api \
--title "Redis connection failed" \
--message "Billing API could not connect to Redis (timeout after 5 s)" Repetările se adună într-un singur grup.
Tot ce ține de aceeași problemă ajunge în același grup. Telefonul nu vibrează la a doua eroare Redis și nici la a 43-a. La fel la 30 de plăți eșuate din cauza aceluiași procesator de plăți picat sau la un senzor de apă care se tot declanșează.
43 de evenimente într-un singur grup
Doar primul claxonează.
Primul eveniment al unei probleme noi pleacă imediat la toți cei care urmăresc proiectul, pe iPhone, pe Apple Watch și pe web. Un Claxon lung sau un Claxon continuu poate porni și o activitate live pe ecranul de blocare.
Apoi, liniște.
De acolo primești cel mult o actualizare la 5 minute, cu numărul la zi. Dacă se agravează, afli imediat. Evenimentele de rutină ajung în rezumat, iar orele de liniște țin deoparte tot ce nu e urgent.
Activitate
Evenimente
Când se rezolvă, afli și asta.
Când sursa anunță că merge din nou, primești o ultimă notificare și problema se închide. Cele 43 de evenimente rămân în grup cât timp planul tău păstrează mesajele, iar pe Apple Watch îl marchezi ca gestionat cu Double Tap.
Cinci niveluri, de la Claxon ușor la Claxon continuu.
Fiecare eveniment are un nivel de gravitate. Codul tău poate trimite fie denumirea tehnică (warning), fie numele claxonului (loud), iar aplicațiile dau fiecărui nivel propria pictogramă, ca să le deosebești și fără culori.
- Claxon ușor Valoare în API:
info·lightVești de rutină: un import terminat, un colet la ușă.
- Bip-bip Valoare în API:
success·beepCeva a mers bine: un deploy, un backup, o plată.
- Claxon puternic Valoare în API:
warning·loudDe văzut în curând: un disc ajuns la 91%.
- Claxon lung Valoare în API:
error·longCeva a eșuat. Are mereu cel puțin prioritate ridicată.
- Claxon continuu Valoare în API:
critical·blastCeva a căzut. Are mereu cel puțin prioritate ridicată.
Pe ecranul de blocare, pe ecranul principal și la încheietură.
Honk pentru iPhone e un inbox care funcționează ca Mail, iar de multe ori nici nu trebuie să-l deschizi. Pe Apple Watch vezi ce te așteaptă și marchezi ca gestionat cu Double Tap.
La dimensiunea reală de pe un iPhone 18 Pro.
Nu ai nevoie de cod.
Majoritatea uneltelor pe care le folosești deja pot trimite singure mesaje către Honk. Fiecare ghid te duce prin configurarea uneia, de la cap la coadă.
- Comenzi WooCommerce pe iPhone, cu pluginul Honk Me Un plugin WordPress trimite către Honk comenzile, plățile eșuate, alertele de stoc și formularele. Tu alegi ce apare în fiecare notificare.
- Formularele de pe site, direct pe telefon Fiecare formular de contact sau de ofertă vine ca notificare, cu toate câmpurile, din WordPress, din servicii de formulare sau din cod.
- Alerte pe iPhone când îți cade site-ul O notificare când site-ul cade și una când revine, de la o verificare din cron sau de la Uptime Kuma.
- Alerte Home Assistant pe iPhone Un rest_command pentru configuration.yaml, o alertă de inundație care își grupează repetările și o sonerie cu imagine de la cameră.
- Notificări din workflow-urile n8n pe iPhone Nodul Honk sau nodul HTTP Request, plus un workflow de eroare care raportează fiecare execuție eșuată.
Pentru dezvoltatori: un apel HTTP sau o bibliotecă.
Biblioteci oficiale pentru șase limbaje, un CLI pentru scripturi shell și CI și un nod comunitar pentru n8n. Toate funcționează la fel: câte un helper pentru fiecare nivel al scalei Honk, reîncercări automate fără duplicate și aceleași tipuri de erori în toate limbajele.
cURL
curl -sS https://honk-me.app/v1/messages \
-H "Authorization: Bearer $HONK_KEY" \
-H "Idempotency-Key: backup-$(date +%Y%m%d)" \
-H "Content-Type: application/json" \
-d '{
"title": "Backup failed",
"message": "pg_dump exited with 1",
"severity": "long",
"group_key": "db/backup",
"event_type": "problem"
}'
# → 202 {"id":"msg_…","status":"accepted","duplicate":false,"received_at":"…"} Laravel
use HonkMe\Laravel\Facades\Honk;
Honk::beep('Backup finished', 'nightly pg_dump took 42 s');
Honk::loud('Disk 91%', '/var on app-01', ['groupKey' => 'disk/app-01/var']); Node.js
import { Honk } from 'honk-me';
const honk = new Honk({ url: process.env.HONK_URL, key: process.env.HONK_KEY });
await honk.beep('Backup finished', 'nightly pg_dump took 42 s'); Go
import honk "github.com/honk-me/honk-go" // package honk
c, err := honk.FromEnv() // HONK_URL, HONK_KEY (+ optional HONK_SOURCE, HONK_ENVIRONMENT, HONK_CHANNEL)
if err != nil {
log.Fatal(err)
}
_, err = c.Beep(ctx, "Backup finished", "nightly pg_dump took 42 s") Swift
import HonkMe
let honk = try Honk.fromEnvironment() // HONK_URL, HONK_KEY (+ HONK_SOURCE, HONK_ENVIRONMENT, HONK_CHANNEL)
try await honk.beep("Backup finished", "nightly pg_dump took 42 s") Kotlin
import app.honkme.Honk
val honk = Honk.fromEnvironment() // HONK_URL, HONK_KEY (+ HONK_SOURCE, HONK_ENVIRONMENT, HONK_CHANNEL)
honk.beep("Backup finished", "nightly pg_dump took 42 s") // suspend Rust
use honk_me::Honk;
#[tokio::main]
async fn main() -> honk_me::Result<()> {
let honk = Honk::from_env()?; // HONK_URL, HONK_KEY (+ HONK_SOURCE, HONK_ENVIRONMENT, HONK_CHANNEL)
honk.beep("Backup finished", "nightly pg_dump took 42 s").await?;
Ok(())
} CLI
export HONK_URL=https://honk-me.app HONK_KEY=honk_… # better: your secret store
honk-me beep "Backup finished" "nightly pg_dump took 42 s"
honk-me loud "Disk 91%" --group-key "disk/$(hostname)/var" n8n
1. Settings → Community Nodes → Install → n8n-nodes-honk
2. Credentials → New → Honk API
Server URL: https://honk-me.app
Ingestion Key: honk_…
3. Add the node Honk → Send message
Message: nightly pg_dump took 42 s
Title: Backup finished
Severity: Beep-Beep (Success) Fără reclame, fără urmărire, fără SDK-uri de analiză.
- Fără parole. Te autentifici cu un cod din 6 cifre primit pe email.
- Stocare în Germania. Mesajele stau pe un server din Germania și se șterg după 3, 14 sau 30 de zile, în funcție de plan.
- AI-ul rămâne pe iPhone. Rezumatele și categoriile se generează pe dispozitiv, cu Apple Intelligence. Nimic nu pleacă la un server pentru AI, iar AI-ul nu ascunde și nu întârzie nicio notificare.
Cine face Honk
Honk e făcut de Dan Florian în Cluj‑Napoca, România, și rulează pe un server din Germania. Pentru întrebări, buguri sau o invitație, scrie la [email protected].
Întrebări
Cum primesc o invitație?
Cere acces cu adresa ta de email. Dacă cererea e aprobată, primești invitația pe email și te autentifici cu un cod din 6 cifre. Începi cu un spațiu de lucru personal.
Trebuie să scriu cod?
Nu. WordPress, Zapier, Make, n8n, Home Assistant și serviciile de monitorizare uptime pot trimite toate mesaje către Honk, iar ghidurile te ajută pas cu pas cu fiecare. Pentru aplicațiile tale există biblioteci în șase limbaje.
Există o aplicație pentru Android?
Nu una nativă. Aplicația web de la honk-me.app se instalează pe Android din Chrome și primește notificări prin Web Push.
Ce se întâmplă dacă ajung la o limită?
Depinde de limită. La limita zilnică de notificări, mesajele intră în continuare în inbox, notificările se opresc până la miezul nopții (UTC), iar fiecare persoană afectată e anunțată o singură dată. La limita zilnică de mesaje, mesajele noi sunt refuzate până la miezul nopții (UTC), iar aplicațiile tale află când să încerce din nou. Codurile de răspuns sunt în documentație.
Honk îmi monitorizează serverele?
Nu. Honk primește evenimentele pe care i le trimit sistemele tale; nu verifică și nu interoghează nimic. Dacă un server cade fără să mai trimită nimic, Honk nu are de unde să afle, așa că pune lângă el o verificare de uptime care raportează la Honk.
Îl poate folosi și echipa mea?
Da. Creează un spațiu de lucru comun și invită oameni ca proprietari, administratori sau membri. Proprietarii și administratorii văd toate proiectele; membrii văd proiectele la care au acces. Vezi cum funcționează spațiile de lucru și proiectele.