Jede Plattform per Webhook verbinden
Der Webhook ist das generische Ziel von Siggmund. Sie geben eine URL an, Siggmund sendet jeden freigegebenen Artikel dorthin, und Ihr Empfänger veröffentlicht — auf der Plattform Ihrer Wahl, über ein Automatisierungstool wie n8n, Make oder Zapier oder über Ihr eigenes Backend.
Es sind weder ein Plugin noch ein zu verbindendes Konto noch eine Freigabe durch einen Marktplatz nötig.
Was der Webhook tut und was nicht
Der Webhook veröffentlicht neue Inhalte. Er liefert nur in eine Richtung: Siggmund übermittelt Ihnen den Artikel und fragt Ihre Website nie zurück ab.
Er kann daher keine bereits veröffentlichte Seite ändern und auch kein automatisches Zurücksetzen anbieten. Beide Funktionen brauchen einen Einhängepunkt auf Plattformseite, den heute nur der WordPress-Connector bietet.
Schritt 1 — Ihre URL angeben
Geben Sie unter Verbindungen → Website / WordPress → Webhook (alle Plattformen) die URL ein, die die Artikel empfangen soll. Sie muss öffentlich sein, über HTTPS laufen und direkt antworten — Weiterleitungen werden abgelehnt.
Siggmund zeigt dann ein Signatur-Secret an. Kopieren Sie es: Es wird nie wieder angezeigt. Wenn Sie es verlieren, erzeugt die Schaltfläche Secret erneuern ein neues und macht das alte sofort ungültig.
Schritt 2 — Die Anfrage empfangen
Siggmund sendet eine POST-Anfrage als application/json mit drei Headern:
| Header | Inhalt |
|---|---|
X-Shoggo-Delivery | Kennung der Lieferung. Das ist Ihr Deduplizierungsschlüssel. |
X-Shoggo-Timestamp | Unix-Zeitstempel in Sekunden, zum Zeitpunkt des Versands |
X-Shoggo-Signature | sha256= gefolgt von der Signatur in Hexadezimal |
Das Timeout beträgt 10 Sekunden. Antworten Sie mit 2xx, sobald Sie die Nachricht angenommen haben; dauert Ihre Verarbeitung lange, bestätigen Sie zuerst den Empfang und arbeiten Sie danach weiter.
Eine 3xx-Antwort gilt als Fehler: Siggmund folgt keinen Weiterleitungen.
Schritt 3 — Die Signatur prüfen
Die Signatur ist ein HMAC-SHA256 der Zeichenfolge <Timestamp>.<roher Body>, berechnet mit Ihrem Secret und in Hexadezimal ausgegeben.
Der rohe Body ist genau die empfangene Bytefolge — nicht das Ergebnis eines JSON.parse mit anschließendem JSON.stringify, das die Schlüssel umordnen und die Signatur ungültig machen würde.
import crypto from "node:crypto";
function verifie(secret, rawBody, headers) {
const timestamp = headers["x-shoggo-timestamp"];
const recue = headers["x-shoggo-signature"];
const attendue =
"sha256=" +
crypto.createHmac("sha256", secret).update(`${timestamp}.${rawBody}`).digest("hex");
// Vergleich in konstanter Zeit: Ein `===` verrät die Signatur Zeichen für
// Zeichen an einen Angreifer, der die Antwortzeit misst.
const a = Buffer.from(attendue);
const b = Buffer.from(recue ?? "");
if (a.length !== b.length || !crypto.timingSafeEqual(a, b)) return false;
// Der Timestamp geht in die Signatur ein, um Replays zu verhindern.
// Weisen Sie Zu-Altes zurück — fünf Minuten sind ein vernünftiger Wert.
const ageSecondes = Math.abs(Date.now() / 1000 - Number(timestamp));
return ageSecondes < 300;
}
Der Timestamp ist genau deshalb Teil der signierten Zeichenfolge, damit dieselbe Anfrage nicht endlos wieder eingespielt werden kann. Wer die Signatur prüft, ohne das Alter zu prüfen, lässt diese Tür offen.
Der Body der Anfrage
{
"version": 1,
"event": "craft.article.published",
"deliveryId": "...",
"clientId": "...",
"runRef": "...",
"attemptId": "...",
"publishedAt": "2026-08-10T09:15:00.000Z",
"article": {
"slug": "...",
"title": "...",
"status": "...",
"qcScore": 0,
"blocks": [],
"metaTitle": "...",
"metaDescription": "...",
"wordCount": 0,
"thumbImage": null,
"heroImage": null
}
}
Zwei Punkte, die Sie nicht verwechseln sollten:
deliveryIdist der Deduplizierungsschlüssel. Erhalten Sie zweimal dieselbedeliveryId, ist es derselbe Artikel: Veröffentlichen Sie ihn nur einmal.attemptIdändert sich bei jedem Versuch. Sie dient nur dazu, im Supportfall den Bezug zu den Protokollen von Siggmund herzustellen. Verwenden Sie sie nie zur Deduplizierung.
Das Feld version wird erhöht, wenn sich die Form des Bodys ändert. Prüfen Sie es, wenn Sie über eine Änderung des Vertrags lieber vorab informiert werden, als sie in der Produktion zu entdecken.
Ihren Empfänger testen
Der Verbindungsbildschirm bietet die Schaltfläche Testereignis senden, die eine Schein-Lieferung sendet, signiert mit Ihrem echten Secret. Das ist der schnellste Weg, Ihre Signaturprüfung vor dem ersten echten Artikel zu validieren.
Die Verbindung trennen
Die Schaltfläche Trennen löscht URL und Secret auf Seiten von Siggmund, sofort. Sie können auch einseitig auf Ihrer Seite trennen, indem Sie nicht mehr auf die URL antworten oder sie ändern: Anders als ein Schreibzugriff gibt ein Signatur-Secret keinerlei Rechte an Ihrer Website.
Zuletzt aktualisiert: · Erstveröffentlichung:
