Notificaciones push para tu web, tu tienda y tus servidores

30 pagos fallidos. Un solo bocinazo.

Honk te avisa cuando algo requiere tu atención: un pedido nuevo en tu tienda, un cliente que pide presupuesto desde tu web, una fuga de agua en casa, un servidor con problemas. Lo que se repite llega en un solo aviso, y lo demás espera sin hacer ruido en tu bandeja de entrada.

Funciona con WordPress y WooCommerce, n8n, Zapier, Make, Home Assistant, Uptime Kuma y tu propio código. Ver las guías Próximamente en el App Store

Cómo llega un problema a tu teléfono

Tus herramientas le cuentan a Honk lo que pasa.

Tu tienda, un formulario de contacto, un sensor en casa, un flujo de n8n o un servidor le envía a Honk un mensaje breve. Honk lo guarda antes de responder, así que no se pierde aunque algo falle un segundo después.

n8n

Honk → Send message
  Message:     Stripe API timed out after 10 s for order #1087
  Title:       Payment provider timeouts
  Severity:    Long Honk (Error)
  Additional Fields
    Category:    Payments
    Group Key:   payments/stripe
    Event Type:  Problem
    Source:      checkout

Home Assistant

# automations.yaml (the Home Assistant guide has the rest_command)
actions:
  - action: rest_command.honk
    data:
      title: "Water leak in the basement"
      message: "The sensor under the boiler detected water."
      severity: blast
      event_type: problem
      group_key: home/leak/basement

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() . ' could not take the payment.',
        'severity' => 'long',
        'event_type' => 'problem',
        'category' => 'payments',
        'group_key' => 'payments/' . $order->get_payment_method(),
    ], 'wc-' . $order_id . '-failed');
}, 10, 2);

cURL

curl -sS https://honk-honk.app/v1/messages \
  -H "Authorization: Bearer $HONK_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Payment provider timeouts",
    "message": "Stripe API timed out after 10 s for order #1087",
    "severity": "long",
    "category": "payments",
    "source": "checkout",
    "group_key": "payments/stripe",
    "event_type": "problem"
  }'

Laravel

use Honk\Laravel\Facades\Honk;

Honk::uhoh('payments/stripe', 'Payment provider timeouts',
    'Stripe API timed out after 10 s for order #1087', ['source' => 'checkout']);

CLI

honk uhoh --group-key payments/stripe --source checkout \
  --title "Payment provider timeouts" \
  --message "Stripe API timed out after 10 s for order #1087"

Lo que se repite, se agrupa.

Los eventos que hablan de lo mismo acaban en un solo grupo. Cuando la pasarela de pago deja de responder al pagar, tu teléfono no vibra con el segundo pago fallido, ni con el 43. Tampoco con una web que falla la comprobación cada minuto, ni con un sensor de fugas que no deja de saltar.

43 eventos en 1 grupo

Solo suena el primero.

El primer evento de un problema nuevo llega al momento a todos los que siguen el proyecto: en el iPhone, en el Apple Watch y en el navegador. Si es un Bocinazo largo o una Bocina sin parar, también puede abrir una Actividad en directo en la pantalla bloqueada.

Honk para iPhone, Atención: «Tiempos de espera en la pasarela de pago» arriba, en «En curso», y debajo una cita nueva en la peluquería y un pedido nuevo de la tienda.

Y después, calma.

A partir de ahí, como mucho una actualización cada 5 minutos, con el recuento al día. Cuando varios problemas empiezan a la vez, como tres servidores que caen juntos, cada uno te llega al momento con su propia notificación, pero solo suena el primero. Si el nivel sube, te enteras al momento. Lo rutinario espera al resumen, y las horas de silencio retienen todo lo que no sea urgente.

Cuando se arregla, también te enteras.

Cuando la tienda avisa de que los pagos vuelven a funcionar, recibes un último aviso y el problema se cierra. Los 43 eventos se quedan en el grupo durante el periodo de conservación de tu plan, y en el Apple Watch lo marcas como atendido con Double Tap.

Cinco niveles, del Bocinazo suave a la Bocina sin parar.

Cada evento tiene un nivel de gravedad. Tu código puede enviar la palabra técnica (warning) o el nombre de la bocina (loud), y las apps le dan a cada nivel su propio icono, así que se distinguen sin depender del color.

  • Bocinazo suave Valor de la API: info · light

    Avisos de rutina: una importación terminada, un paquete en la puerta.

  • Bip-bip Valor de la API: success · beep

    Algo salió bien: un despliegue, una copia de seguridad, un pago.

  • Bocinazo fuerte Valor de la API: warning · loud

    Conviene mirarlo pronto: un disco al 91 %.

  • Bocinazo largo Valor de la API: error · long

    Algo falló. Siempre llega con prioridad Alta o superior.

  • Bocina sin parar Valor de la API: critical · blast

    Algo está caído. Siempre llega con prioridad Alta o superior.

En la pantalla bloqueada, en la de inicio y en tu muñeca.

Honk para iPhone es una bandeja de entrada que funciona como Mail, y muchas veces ni siquiera tendrás que abrirla. En el Apple Watch ves lo que requiere tu atención y lo marcas como atendido con Double Tap.

Una Actividad en directo mantiene el incidente en la pantalla bloqueada, aquí una fuga de agua en el sótano, y se actualiza aunque la app esté cerrada, hasta que muestra «Recuperado».
En la Dynamic Island: el nivel y el número de eventos, ya 12 avisos de fuga.
Apple Watch: Atender con Double Tap, aquí en una solicitud de presupuesto.
El widget pequeño: cuántos grupos requieren tu atención, el nivel más grave y lo más urgente.
Centro de control: Silenciar todo durante una hora.
Los widgets mediano y grande los listan, aquí la fuga, una solicitud de presupuesto y una factura pagada, con Silenciar 1 h y Atender en cada incidente. Cada widget también puede mostrar Todos los mensajes o un solo proyecto.

Al tamaño con el que los muestra iOS en un iPhone 18 Pro.

No hace falta programar.

Muchas de las herramientas que ya usas pueden enviar avisos a Honk sin ayuda. Cada guía te lleva paso a paso por una de ellas, de principio a fin.

Todas las guías

Para desarrolladores: una llamada HTTP o una biblioteca.

Bibliotecas oficiales para seis lenguajes, una CLI para scripts de shell y CI, y un nodo comunitario para n8n. Todo funciona igual: una función para cada nivel de la escala Honk, reintentos automáticos que nunca envían dos veces y los mismos tipos de error en todos los lenguajes.

cURL

curl -sS https://honk-honk.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 Honk\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::Honk;

#[tokio::main]
async fn main() -> honk::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-honk.app HONK_KEY=honk_…   # better: your secret store

honk beep "Backup finished" "nightly pg_dump took 42 s"
honk 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-honk.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)

Sin anuncios, sin seguimiento, sin SDK de analítica.

  • Sin contraseñas. Inicias sesión con un código de 6 dígitos que te llega por correo.
  • Guardado en Alemania. Los mensajes se guardan en un servidor en Alemania y se eliminan a los 3, 14 o 30 días, según tu plan.
  • La IA se queda en tu iPhone. Apple Intelligence clasifica los mensajes por categorías y extrae los datos clave de cada solicitud en el propio dispositivo. Nada sale del iPhone para la IA, y la IA nunca oculta ni retrasa una notificación.

Política de privacidad

Gratis para un proyecto. 9 € al mes para diez.

Pagas por espacio de trabajo, no por usuario, y todos los planes tienen todas las funciones: solo cambian los límites. Mientras el acceso sea por invitación, el plan se asigna cuando se envía tu invitación.

Free
0 €
500 mensajes al día
1 proyecto · 1 miembro
Pro
9 € al mes
20.000 mensajes al día
10 proyectos · 5 miembros
Team
29 € al mes
200.000 mensajes al día
100 proyectos · 50 miembros

Precios en euros. Según tu país, puede aplicarse el IVA.

Ver precios

Quién está detrás de Honk

Detrás de Honk está Dan Florian, en Cluj‑Napoca (Rumanía), y el servicio funciona en un servidor en Alemania. Para preguntas, errores o invitaciones, escribe a [email protected].

Preguntas frecuentes

¿Cómo consigo una invitación?

Solicita acceso con tu dirección de correo. Si se aprueba la solicitud, recibirás la invitación por correo e iniciarás sesión con un código de 6 dígitos. Empiezas con un espacio de trabajo personal.

¿Tengo que saber programar?

No. WordPress, Zapier, Make, n8n, Home Assistant y los monitores de disponibilidad pueden enviar avisos a Honk, y las guías te explican cada uno paso a paso. Para tus propias apps, hay bibliotecas en seis lenguajes.

¿Hay app para Android?

No hay app nativa, pero la app web de honk-honk.app se instala en Android desde Chrome y recibe notificaciones por Web Push.

¿Qué pasa si llego a un límite?

Depende del límite. Con el límite diario de notificaciones push, los mensajes siguen llegando a la bandeja de entrada, las notificaciones push se detienen hasta las 00:00 UTC y cada persona afectada recibe un solo aviso. Con el límite diario de mensajes, los nuevos se rechazan hasta las 00:00 UTC y tus apps saben cuándo volver a intentarlo. Los códigos de respuesta están en la documentación.

¿Honk vigila mis servidores?

Honk no consulta tus servidores, pero nota el silencio: una señal de vida espera noticias periódicas de tu tarea cron, tu copia de seguridad o tu worker y, cuando dejan de llegar, Honk abre un problema. Para tus webs, combínalo con un monitor de disponibilidad que informe a Honk.

¿Puedo usarlo con mi equipo?

Sí. Crea un espacio de trabajo compartido e invita a tu equipo como propietarios, administradores o miembros. Los propietarios y administradores ven todos los proyectos; los miembros, solo aquellos a los que tienen acceso. Consulta cómo funcionan los espacios de trabajo y los proyectos.