← Nautilinks Entwickler

Webhooks

Signierte Nautilinks-Webhooks

Empfangen Sie Änderungen im Bestelllebenszyklus ohne Polling. Endpunkte, Ereignisse, Payloads und Fehler sind im öffentlichen OpenAPI-Dokument typisiert.

Abonnieren

Rufen Sie POST /api/v1/agent/webhooks mit einer öffentlichen HTTPS-URL und mindestens einem unterstützten Ereignis auf: order.accepted, order.published oder order.cancelled. Private, Loopback-, nicht auflösbare, umleitende und nicht per HTTPS erreichbare Ziele werden abgelehnt.

curl --fail-with-body -X POST \
  -H "Authorization: Bearer $NAUTILINKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com/hooks/nautilinks","events":["order.published"]}' \
  https://nautilinks.co/api/v1/agent/webhooks

Jede Zustellung prüfen

Die Erstellungsantwort zeigt secret genau einmal und nennt die Ableitung hex(sha256(secret)). Verwenden Sie diesen hexadezimalen ASCII-Wert als HMAC-Schlüssel. Prüfen Sie anschließend v1 aus Nautilinks-Signature: t=<unix>,v1=<hex> gegen den HMAC-SHA256 von <t>.<roher JSON-Body>. Verwerfen Sie veraltete Zeitstempel und vergleichen Sie Signaturen in konstanter Zeit.

Der Header Nautilinks-Event wiederholt den Ereignisnamen. Parsen Sie den Body erst nach Prüfung seiner Rohbytes, antworten Sie schnell mit 2xx und gestalten Sie die nachgelagerte Verarbeitung idempotent.

Prüfen oder widerrufen

GET /api/v1/agent/webhooks listet Abonnements und den letzten Zustellstatus. DELETE /api/v1/agent/webhooks/{webhookId} widerruft ein zum Schlüssel gehörendes Abonnement logisch. Anfrage- und Antwortschemas stehen in der Nautilinks OpenAPI-Spezifikation.