Un événement.
Des reprises suivies.
Votre agent termine une tâche. Hooks transmet son événement à votre application, reprend les erreurs temporaires et signe ses observations.
Deliver an agent's job-completion event to an HTTPS receiver you control, with retries and verifiable relay observations.
Télécharger les exemples / Download examples (ZIP) · Comprendre en deux minutes
Que se passe-t-il si le destinataire est indisponible ?
Ce parcours explique le scénario déjà couvert par nos tests locaux. Il ne déclenche aucun envoi et ne simule pas une activité client réelle.
- Accepter. L'agent envoie
job-demo-001. HTTP 202 confirme la mise en file, pas la livraison. - Observer l'échec temporaire. Le destinataire répond HTTP 503. Hooks signe cette observation et conserve l'événement pour une reprise.
- Reprendre. Après le délai prévu, Hooks renvoie les mêmes octets avec le même identifiant de livraison. Une réponse HTTP 200 termine ici la livraison.
- Vérifier. Consultez l'acceptation et les deux observations signées. Les reprises ne consomment pas de nouveaux crédits. Le destinataire doit dédupliquer et vérifier la signature HMAC.
Scénario existant : tests/hooks.test.mjs, « retryable failure then success ». Il faisait partie des 95 tests réussis de la version 0.7.3 ; il n'a pas été relancé pour cette publication.
Voir le résultat de la démonstration simple déjà exécutée
Exécution locale validée avant cette publication, avec un destinataire simulé répondant 204. Ce résultat concerne la livraison simple et la déduplication, pas le scénario 503 → 200 décrit ci-dessus.
{
"demo": true,
"network": "simulated; no external delivery",
"state": "delivered",
"proofsVerified": 2,
"duplicateReturnsSameDelivery": true
}Résultat JSON conservé. La démonstration existante peut être relancée dans les sources complètes avec npm ci, puis npm run demo.
Explained retry flow: accepted → receiver 503 → retry → receiver 200. The retained JSON is a separate, previously validated local happy-path demo. No live delivery runs on this page.
1. Préparer votre destinataire / Prepare your receiver
Créez votre accès, sauvegardez le fichier privé et publiez le challenge sur votre domaine HTTPS. Vérifiez le destinataire avant l'envoi. Il faut contrôler ce domaine ; un simple lien de webhook tiers ne suffit pas toujours.
Register, save the private access file, publish the ownership challenge on your HTTPS origin and verify the destination. Keep access files out of your repository.
2. Choisir un seul exemple / Pick one example
Téléchargez et décompressez le ZIP. Python utilise uniquement la bibliothèque standard ; les exemples JavaScript existants sont repris sans réécriture.
Python — HTTP, sans dépendance
python send-http.py /private/datoka-hooks-access.json job-demo-001 event.json
Python 3.10 ou supérieur. Code Python.
JavaScript — HTTP
node send-http.mjs /private/datoka-hooks-access.json job-demo-001 event.json
Node 24 ou supérieur. Aucun paquet requis pour HTTP. Point d'entrée + module partagé.
JavaScript — MCP
npm install node send-mcp.mjs /private/datoka-hooks-access.json job-demo-001 event.json
Node 24 ou supérieur. npm install installe le SDK MCP indiqué dans le ZIP. Code MCP existant.
Les trois commandes utilisent volontairement le même identifiant et le même fichier : elles correspondent au même événement. Ne changez l'identifiant que pour un nouvel événement métier.
All three commands represent the same event. On a lost response, retry with the same ID and exact bytes. Do not generate a new ID to retry. These examples never buy credits.
3. Lire le résultat / Read the outcome
L'exemple affiche deliveryId et l'état d'acceptation. Pour suivre la livraison, lisez :
GET /v1/hooks/HOOK_ID/deliveries/DELIVERY_ID Authorization: Bearer DELIVERY_TOKEN
Attendez quelques secondes entre les lectures. Arrêtez sur delivered ou failed. Via MCP, utilisez get_hook_delivery, puis verify_hook_receipt pour vérifier une preuve.
Poll a few seconds apart until delivered or failed. A receiver 2xx records an HTTP observation; it does not prove successful business processing or exactly-once delivery.
Coût et limites / Cost and limits
100 admissions gratuites par jour UTC et par hook. 20 livraisons en attente avec l'offre gratuite ; 64 Kio par événement. Pack facultatif : 100 crédits pour 0,10 USDC sur Base, sans abonnement ni recharge automatique. Consulter l'offre active.
L'achat nécessite un portefeuille EOA compatible EIP-3009 et un budget autorisé. Un crédit paie une admission supplémentaire ; il ne garantit pas la livraison. Aucun achat n'est effectué par ces exemples.
Guide complet, dépannage et automatisation · Vérification HMAC et déduplication du récepteur