Webhook verzögert senden
Diese Funktion plant einen einmaligen Webhook-Aufruf für einen späteren Zeitpunkt: Sie geben eine Ziel-Adresse und eine Wartezeit an, zwischen wenigen Sekunden und mehreren Tagen, und KIT ruft die Adresse dann automatisch auf, ohne dass Sie selbst einen Timer oder eine Warteschlange betreiben müssen.
Einmalig statt wiederkehrend
Anders als ein Cronjob, der nach einem festen Zeitplan immer wieder auslöst, feuert diese Funktion genau einmal, nach Ablauf der von Ihnen gewählten Wartezeit. Das eignet sich für Vorgänge, die auf ein einzelnes künftiges Ereignis warten, etwa eine Erinnerung 24 Stunden nach einer Bestellung oder eine Zahlungsprüfung zehn Minuten nach dem Start eines Vorgangs.
Wartezeit statt Uhrzeit
Sie geben keine feste Uhrzeit an, sondern eine Verzögerung relativ zum Zeitpunkt der Einrichtung, etwa 15 Minuten, 2 Stunden oder 3 Tage. Das ist praktisch, wenn der Auslöser ein Ereignis in Ihrem System ist, dessen genauer Zeitpunkt erst zur Laufzeit feststeht, und nicht ein bereits im Voraus bekanntes Datum.
Was der Callback mitbringt
Der verzögerte Aufruf sendet die Nutzdaten, die Sie bei der Einrichtung übergeben haben, unverändert an Ihren Endpunkt, zusammen mit einem eindeutigen Kennzeichen für den jeweiligen Vorgang. So lässt sich auf der empfangenden Seite ohne eigene Datenbank nachvollziehen, zu welchem ursprünglichen Vorgang der verspätete Aufruf gehört.
Wo die Verzögerung verwaltet wird
Die Wartezeit läuft auf der KIT-Infrastruktur, nicht auf Ihrem eigenen Server, sodass der Callback auch dann ausgelöst wird, wenn Ihr System zwischenzeitlich neu startet. Genutzt wird die Funktion über diese Seite oder per API; ein eigener Warteschlangendienst allein für verzögerte Aufrufe wird damit überflüssig.
Anwendungsfälle
Erinnerung 24 Stunden nach der Bestellung
Ein Onlineshop lässt 24 Stunden nach jeder Bestellung automatisch einen Webhook auslösen, der eine Erinnerungs-E-Mail an Kundinnen und Kunden mit leerem Warenkorb verschickt.
Zahlungsprüfung nach zehn Minuten
Katrin Baumann prüft mit einem verzögerten Callback zehn Minuten nach dem Start einer Zahlung, ob diese abgeschlossen wurde, und markiert unbestätigte Vorgänge automatisch als offen.
Follow-up drei Tage nach der Registrierung
Die Schneider IT-Systeme GmbH & Co. KG lässt drei Tage nach einer Testregistrierung automatisch einen Webhook auslösen, der eine persönliche Follow-up-E-Mail an neue Interessenten anstößt.
Häufige Fragen
Was kostet ein verzögerter Webhook?
$0.002 pro tatsächlich ausgelöstem Callback, unabhängig von der gewählten Wartezeit.
Wie lange kann die Verzögerung maximal sein?
Von wenigen Sekunden bis zu mehreren Tagen; für sehr lange Fristen über Wochen eignet sich der Cronjob-Webhook mit einem einmaligen Zeitplan besser.
Was passiert, wenn mein Endpunkt zum Callback-Zeitpunkt nicht erreichbar ist?
Der Versuch wird protokolliert und als fehlgeschlagen markiert; eine automatische Wiederholung erfolgt nicht von selbst.
Kann ich einen bereits eingerichteten Callback wieder abbrechen?
Ja, solange die Wartezeit noch nicht abgelaufen ist, lässt sich der geplante Aufruf über die zugehörige Kennung stornieren.
Ist diese Funktion im Browser kostenlos nutzbar?
Nein. Ein verzögerter Aufruf benötigt eine laufende Infrastruktur zwischen Einrichtung und Auslösung; Einrichtung und Ausführung erfolgen über diese Seite oder per API, abgerechnet pro Callback.
Werden die übergebenen Nutzdaten gespeichert?
Nur bis zur Auslösung des Callbacks, danach werden sie nicht weiter aufbewahrt.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/dev/delay \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/dev/delay", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/delay",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/delay", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/delay", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"input": "…"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.delay",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |