S’abonner
Appelez POST /api/v1/agent/webhooks avec une URL HTTPS publique et un ou plusieurs événements pris en charge : order.accepted, order.published ou order.cancelled. Les cibles privées, loopback, non résolues, avec redirection ou non HTTPS sont refusées.
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 Vérifier chaque livraison
La réponse de création révèle secret une seule fois et indique la dérivation hex(sha256(secret)). Utilisez cette valeur hexadécimale ASCII comme clé HMAC. Vérifiez ensuite v1 dans Nautilinks-Signature: t=<unix>,v1=<hex> contre le HMAC-SHA256 de <t>.<corps JSON brut>. Refusez les horodatages anciens et comparez les signatures en temps constant.
L’en-tête Nautilinks-Event répète le nom de l’événement. Analysez le corps seulement après vérification de ses octets bruts, répondez rapidement avec un 2xx et rendez le traitement aval idempotent.
Inspecter ou révoquer
GET /api/v1/agent/webhooks liste les abonnements et leur état récent. DELETE /api/v1/agent/webhooks/{webhookId} révoque logiquement un abonnement détenu par la clé. Consultez la spécification OpenAPI Nautilinks pour les schémas de requête et de réponse.