Avisos de pedidos de WooCommerce con Honk Me
WooCommerce te avisa de los pedidos nuevos por correo, y esos correos se mezclan con todo lo demás. Si tienes una tienda, lo que quieres en el teléfono es otra cosa: una nota breve por cada pedido pagado y una alerta que se oiga cuando los pagos empiezan a fallar, antes de que los clientes se cansen y se vayan.
El plugin Honk Me para WordPress te envía las dos, sin código. También cubre reembolsos, alertas de existencias, clientes nuevos, valoraciones, formularios, accesos y la salud del sitio, y en una sola pantalla de ajustes eliges qué dice cada notificación.
Antes de empezar
- Una cuenta de Honk. Por ahora, Honk funciona solo con invitación: solicita acceso.
- Un proyecto para la tienda, por ejemplo «Tienda».
- WordPress 6.4 o posterior con PHP 7.4 o posterior. WooCommerce es opcional: sin él sigues recibiendo los avisos de accesos, salud del sitio, comentarios y formularios.
1. Instala el plugin
El plugin está pendiente de aprobación en el directorio de plugins de WordPress. Cuando aparezca, abre Plugins ▸ Añadir plugin en WordPress, busca Honk Me y haz clic en Instalar ahora y luego en Activar. Mientras tanto, usa una de las opciones de «Sin el plugin», al final de esta guía.
No se envía nada hasta que añadas una clave, así que puedes instalarlo en una tienda que ya esté en marcha.
2. Conéctalo con Honk
En la app web de Honk, abre el proyecto de la tienda, entra en Claves y crea una. Cópiala en ese momento: Honk solo la muestra una vez.
En WordPress, abre Ajustes ▸ Honk y pega la clave en Clave API. Deja la URL del servidor como está, salvo que tengas tu propio servidor de Honk, y haz clic en Guardar cambios.
3. Elige de qué quieres enterarte
En Eventos, cada evento tiene su propia casilla para activarlo, un nivel en la escala de Honk y una prioridad. Los valores predeterminados son un buen punto de partida: un pedido pagado es un Bip-bip, un pago fallido un Bocinazo fuerte y un producto agotado un Bocinazo largo.

Honk agrupa las repeticiones, así que 30 pagos fallidos en una hora son un solo episodio con un recuento, no 30 notificaciones. Lo que empieza y termina, como un producto con pocas existencias o una racha de accesos fallidos, te envía otro aviso cuando se resuelve.
4. Elige qué dice cada notificación
Haz clic en Detalles debajo de un evento para ver qué puede decir su notificación. Un pedido nuevo siempre lleva su número y un enlace al pedido en WordPress. El resto son casillas: el total, el número de artículos, el estado, el método de pago y el de envío, los tres primeros productos, y el nombre, el correo, el teléfono, la ciudad de facturación y la nota del cliente. La vista previa, al lado, muestra cómo se verá la notificación en Honk y cambia a medida que marcas casillas.

Los datos del cliente son datos personales, así que solo se envían mientras Incluir nombres y correos electrónicos de los clientes está activado, en Privacidad e idioma. Mientras esa opción está desactivada, esas casillas aparecen en gris y no sale ningún dato personal, marques lo que marques. Con Contact Form 7, WPForms y Gravity Forms también puedes quitar campos concretos de cada formulario.
Haz clic en Guardar cambios cuando termines.
5. Envía una prueba
Arriba, en Ajustes ▸ Honk, haz clic en Enviar notificación de prueba. La prueba usa la clave que haya en el campo, aunque aún no la hayas guardado, y la respuesta de Honk aparece justo debajo. La prueba llega a tu bandeja de entrada de Honk en unos segundos.

Para ver un pedido de verdad, haz uno de prueba con un método de pago como Contra reembolso. Ajustes ▸ Honk ▸ Registro de notificaciones muestra cada notificación que ha enviado el sitio, con su estado.
Noches tranquilas para la tienda
Un pedido a las 3 de la madrugada es una buena noticia que puede esperar. En la app web de Honk, abre el proyecto de la tienda ▸ Mis notificaciones y configura las horas de silencio; recibirás un solo resumen por la mañana. O sube tu umbral de push a Alta: los pedidos pagados esperarán al resumen, y un producto agotado te seguirá avisando al instante, porque un Bocinazo largo tiene siempre al menos prioridad Alta. Si quieres que los pagos fallidos también te avisen al instante, pon su prioridad en Alta en Eventos.
Sobre los datos de los clientes
Con los ajustes predeterminados del plugin, las notificaciones no llevan datos personales: un pedido aparece como «Pedido #1234 · 84,00 € · 2 artículos». Los nombres, los correos y lo demás solo se envían si los activas, y solo los que marques. Honk guarda los mensajes solo durante el periodo de conservación de tu plan (3, 14 o 30 días) y solo para mostrártelos. El plugin también te propone un párrafo para tu política de privacidad, en Ajustes ▸ Privacidad de WordPress.
Sin el plugin
Mientras el plugin esté pendiente de aprobación, o si prefieres no instalar ningún plugin, hay otras dos formas.
Una herramienta de automatización. WooCommerce puede enviar cada pedido a un webhook, en su propio formato. Pon en medio n8n, Make o Zapier para elegir los campos y enviárselos a Honk. Con n8n y el nodo de Honk:
WooCommerce ▸ Settings ▸ Advanced ▸ Webhooks ▸ Add webhook
Status: Active
Topic: Order updated
Delivery URL: https://your-n8n.example.com/webhook/woocommerce
n8n workflow
1. Webhook (POST /webhook/woocommerce)
2. If: {{ $json.body.status }} is "processing"
3. Honk → Send message
Message: {{ $json.body.billing.first_name }} {{ $json.body.billing.last_name }}: {{ $json.body.line_items.map(i => i.quantity + ' × ' + i.name).join(', ') }}
Title: New order #{{ $json.body.number }} · {{ $json.body.total }} {{ $json.body.currency }}
Severity: Beep-Beep (Success)
Additional Fields
Category: Sales
Group Key: orders/{{ $json.body.id }}
Options
Idempotency Key: wc-{{ $json.body.id }}-paidEn Make o Zapier, usa su módulo HTTP con los mismos campos; la guía de formularios muestra uno ya rellenado.
Unas líneas de código. Pon la clave en wp-config.php, donde queda fuera de las exportaciones y de las copias de seguridad de tu contenido:
// wp-config.php, above the line "That's all, stop editing!"
define('HONK_KEY', 'honk_…');Después crea wp-content/mu-plugins/honk.php con una pequeña función auxiliar. WordPress carga por sí solo los plugins imprescindibles (must-use), y 'blocking' => false hace que el proceso de pago nunca espere a Honk:
<?php
/*
* Plugin Name: Honk notifications
* Description: Sends store and form events to Honk (honk-me.app). Not an official Honk plugin: a starting point to adapt.
*/
// Sends one event to Honk without slowing the page down. The key comes from wp-config.php.
function honk_send(array $event, string $idempotency_key): void
{
if (!defined('HONK_KEY')) {
return;
}
// Honk accepts https links only; drop the link on an http:// development site
if (isset($event['url']) && !str_starts_with($event['url'], 'https://')) {
unset($event['url']);
}
$event['message'] = mb_strcut($event['message'], 0, 8000); // a message holds up to 8192 bytes
wp_remote_post('https://honk-me.app/v1/messages', [
'timeout' => 5,
'blocking' => false, // fire and forget: checkout never waits for Honk
'headers' => [
'Authorization' => 'Bearer ' . HONK_KEY,
'Content-Type' => 'application/json',
'Idempotency-Key' => $idempotency_key,
],
'body' => wp_json_encode($event),
]);
}Añade los eventos de pedidos al mismo archivo. Cada uno lleva una clave de idempotencia basada en el pedido, así que repetir un hook nunca genera un aviso doble:
// A paid order: a Beep-beep with what was bought.
add_action('woocommerce_payment_complete', function ($order_id) {
$order = wc_get_order($order_id);
if (!$order) {
return;
}
$items = [];
foreach ($order->get_items() as $item) {
$items[] = $item->get_quantity() . ' × ' . $item->get_name();
}
honk_send([
'title' => sprintf('New order #%s · %s %s', $order->get_order_number(), $order->get_total(), $order->get_currency()),
'message' => $order->get_formatted_billing_full_name() . "\n" . implode("\n", $items),
'severity' => 'beep',
'category' => 'sales',
'source' => 'woocommerce',
'group_key' => 'orders/' . $order->get_id(),
'url' => $order->get_edit_order_url(),
], 'wc-' . $order->get_id() . '-paid');
// the gateway works again after a failure: close that incident
$gateway = $order->get_payment_method();
if (get_transient('honk_failed_' . $gateway)) {
delete_transient('honk_failed_' . $gateway);
honk_send([
'title' => sprintf('Payments via %s work again', $order->get_payment_method_title()),
'message' => sprintf('Order #%s was paid.', $order->get_order_number()),
'event_type' => 'recovery',
'category' => 'payments',
'source' => 'woocommerce',
'group_key' => 'payments/' . $gateway,
], 'wc-' . $order->get_id() . '-gateway-ok');
}
});
// A failed payment: one group per payment method, so a broken gateway is one incident, not 30 pushes.
add_action('woocommerce_order_status_failed', function ($order_id, $order) {
$gateway = $order->get_payment_method();
set_transient('honk_failed_' . $gateway, 1, DAY_IN_SECONDS);
honk_send([
'title' => sprintf('Payment failed: order #%s', $order->get_order_number()),
'message' => sprintf('%s, %s %s via %s', $order->get_formatted_billing_full_name(), $order->get_total(), $order->get_currency(), $order->get_payment_method_title()),
'severity' => 'long',
'event_type' => 'problem',
'category' => 'payments',
'source' => 'woocommerce',
'group_key' => 'payments/' . $gateway,
'url' => $order->get_edit_order_url(),
], 'wc-' . $order->get_id() . '-failed');
}, 10, 2);Por ahora, Honk funciona solo con invitación: solicita acceso. Todo lo que explica esta guía funciona con el plan Free.