WooCommerce-Bestellungen als Push mit Honk Me
WooCommerce meldet neue Bestellungen per E-Mail, und die gehen im Postfach zwischen allem anderen unter. Als Shopbetreiber willst du auf dem Handy meist etwas anderes: eine kurze Meldung zu jeder bezahlten Bestellung und einen lauten Alarm, wenn Zahlungen fehlschlagen, noch bevor Kunden aufgeben.
Das Plugin Honk Me für WordPress schickt dir beides, ganz ohne Code. Es kümmert sich auch um Erstattungen, Lagerbestand, neue Kunden, Rezensionen, Formulare, Anmeldeversuche und den Website-Zustand, und auf einer einzigen Einstellungsseite legst du fest, was in jeder Mitteilung steht.
Voraussetzungen
- Ein Honk-Konto. Honk gibt es vorerst nur auf Einladung: Zugang anfragen.
- Ein Projekt für den Shop, zum Beispiel „Shop“.
- WordPress 6.4 oder neuer mit PHP 7.4 oder neuer. WooCommerce ist optional. Auch ohne meldet das Plugin Anmeldeversuche, den Website-Zustand, Kommentare und Formulare.
1. Das Plugin installieren
Das Plugin wird gerade für das WordPress-Plugin-Verzeichnis geprüft. Sobald es dort steht, öffne in WordPress Plugins ▸ Plugin hinzufügen, such nach Honk Me und klicke auf Jetzt installieren und dann auf Aktivieren. Bis dahin nimmst du einen der Wege unter „Ohne das Plugin“ am Ende dieser Anleitung.
Bevor du einen Schlüssel einträgst, wird nichts gesendet. Du kannst das Plugin also bedenkenlos in einem laufenden Shop installieren.
2. Mit Honk verbinden
Öffne in der Honk-Web-App das Projekt des Shops und erstelle unter Schlüssel einen neuen. Kopiere ihn gleich: Honk zeigt ihn nur einmal an.
Öffne in WordPress Einstellungen ▸ Honk und füge den Schlüssel in das Feld API-Schlüssel ein. Lass die Server-URL, wie sie ist, außer du betreibst einen eigenen Honk-Server, und klicke auf Änderungen speichern.
3. Wählen, worüber du informiert wirst
Unter Ereignisse hat jedes Ereignis ein eigenes Kästchen zum Einschalten, eine Stufe auf der Honk-Skala und eine Priorität. Die Voreinstellungen sind ein guter Anfang: Eine bezahlte Bestellung ist ein Tüt-tüt, eine fehlgeschlagene Zahlung ein Lautes Hupen und ein ausverkauftes Produkt ein Langes Hupen.

Honk fasst Wiederholungen zusammen: 30 fehlgeschlagene Zahlungen in einer Stunde sind eine Episode mit Zähler, nicht 30 Pushes. Was anfängt und wieder aufhört, etwa ein geringer Bestand oder eine Welle fehlgeschlagener Anmeldeversuche, schickt dir außerdem eine Entwarnung, sobald es vorbei ist.
4. Wählen, was jede Mitteilung enthält
Klicke unter einem Ereignis auf Details, um zu sehen, was seine Mitteilung enthalten kann. Eine neue Bestellung hat immer ihre Nummer und einen Link zur Bestellung in WordPress. Der Rest sind Kästchen: Summe, Anzahl der Artikel, Status, Zahlungs- und Versandart, die ersten drei Produkte sowie Name, E-Mail-Adresse, Telefonnummer, Rechnungsort und Hinweis des Kunden. Die Vorschau daneben zeigt, wie die Mitteilung in Honk aussieht, und ändert sich mit jedem Häkchen.

Die Angaben zum Kunden sind personenbezogene Daten. Sie werden nur gesendet, solange Kundennamen und E-Mail-Adressen mitsenden unter Datenschutz und Sprache eingeschaltet ist. Ist es aus, sind sie ausgegraut und es geht nichts Persönliches hinaus, egal was angehakt ist. Bei Contact Form 7, WPForms und Gravity Forms kannst du außerdem einzelne Felder jedes Formulars weglassen.
Klicke auf Änderungen speichern, wenn du fertig bist.
5. Einen Test senden
Klicke oben unter Einstellungen ▸ Honk auf Testnachricht senden. Der Test nimmt den Schlüssel aus dem Feld, auch vor dem Speichern, und zeigt die Antwort von Honk direkt darunter. Nach ein paar Sekunden ist er in deinem Honk-Posteingang.

Für einen echten Test bestellst du selbst etwas, etwa per Nachnahme. Unter Einstellungen ▸ Honk ▸ Zustellprotokoll steht jede Mitteilung, die die Website gesendet hat, mit ihrem Status.
Ruhige Nächte für den Shop
Bestellungen um 3 Uhr nachts sind gute Nachrichten, die warten können. Öffne in der Honk-Web-App das Projekt des Shops ▸ Meine Mitteilungen und stell Ruhezeiten ein. Morgens bekommst du dann eine einzige Zusammenfassung. Oder du stellst deine Push-Schwelle auf Hoch: Bezahlte Bestellungen warten dann auf die Zusammenfassung, ein ausverkauftes Produkt wird aber weiter sofort gepusht, denn ein Langes Hupen hat immer mindestens die Priorität Hoch. Sollen auch fehlgeschlagene Zahlungen sofort kommen, stell ihre Priorität unter Ereignisse auf Hoch.
Kundendaten
Mit den Voreinstellungen des Plugins enthalten die Mitteilungen keine personenbezogenen Daten: Eine Bestellung erscheint als „Bestellung Nr. 1234 · 84,00 € · 2 Artikel“. Namen, E-Mail-Adressen und alles Weitere werden nur gesendet, wenn du sie einschaltest, und nur die, die du anhakst. Honk speichert Nachrichten nur für die Aufbewahrungsdauer deines Tarifs (3, 14 oder 30 Tage) und nutzt sie nur, um sie dir anzuzeigen. Das Plugin schlägt außerdem einen Absatz für deine Datenschutzerklärung vor, in WordPress unter Einstellungen ▸ Datenschutz.
Ohne das Plugin
Solange das Plugin geprüft wird oder wenn du keins installieren willst, gibt es zwei weitere Wege.
Ein Workflow-Tool. WooCommerce kann jede Bestellung an einen Webhook schicken, im eigenen Format. Schalte n8n, Make oder Zapier dazwischen, um die Felder auszuwählen und an Honk zu senden. Mit n8n und dem Honk-Node:
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 }}-paidIn Make oder Zapier nimmst du deren HTTP-Modul mit denselben Feldern; die Formular-Anleitung zeigt eins ausgefüllt.
Ein paar Zeilen Code. Leg den Schlüssel in wp-config.php ab. So bleibt er aus Exporten und Backups deiner Inhalte heraus:
// wp-config.php, above the line "That's all, stop editing!"
define('HONK_KEY', 'honk_…');Leg dann wp-content/mu-plugins/honk.php mit einer kleinen Hilfsfunktion an. WordPress lädt Must-Use-Plugins von selbst, und 'blocking' => false bedeutet, dass die Kasse nie auf Honk wartet:
<?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),
]);
}Füge die Bestellereignisse in dieselbe Datei ein. Jedes hat einen Idempotency-Key, der aus der Bestellung gebildet wird, also benachrichtigt dich ein wiederholter Hook nie doppelt:
// 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);Honk gibt es vorerst nur auf Einladung: Zugang anfragen. Alles in dieser Anleitung funktioniert schon im Free-Tarif.