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.