Aller au contenu

Créer des webhooks

Ce guide vous aide à créer des webhooks avec l’API Chaingateway. Il détaille l’écriture d’un récepteur de webhook basique, l’abonnement à un webhook et la gestion des paramètres spécifiques à chaque chaîne.

Notre système de webhook fonctionne comme un système Instant Payment Notification. Il peut être utilisé pour informer votre logiciel d’un paiement entrant ou d’une réception de token. Il se compose de deux parties de code :

Le webhook : Il s’agit de l’URL d’endpoint vers laquelle les notifications webhook seront envoyées. Vous devez fournir cette URL à l’API Chaingateway lors de l’abonnement au webhook. Vous devez également spécifier les paramètres de filtre comme sender, receiver, contractaddress, token_id et type (type de transaction). Si un événement sur la blockchain se produit et correspond à ces critères, nous enverrons un webhook vers l’URL que vous avez spécifiée.

Le récepteur de webhook : Il s’agit du code qui s’exécute sur votre serveur et écoute les notifications webhook entrantes. Il reçoit le payload du webhook et effectue les actions nécessaires dans votre logiciel en fonction des données reçues.

Pour mettre en place le système de webhook, vous devez implémenter le code du récepteur de webhook sur votre serveur et configurer l’URL du webhook dans l’API Chaingateway. Une fois configuré, chaque fois qu’un paiement ou une réception de token se produit, l’API Chaingateway enverra une requête POST vers votre URL de webhook, déclenchant le code du récepteur de webhook et permettant à votre logiciel d’entreprendre les actions appropriées.

Un récepteur de webhook est un endpoint serveur qui écoute les requêtes HTTP POST entrantes provenant de ChainGateway. Voici des exemples de récepteurs de webhook basiques dans différents langages de programmation.

const express = require('express');
const app = express();
const port = 3000;
app.use(express.json());
app.post('/webhook', (req, res) => {
console.log('Received webhook:', req.body);
res.status(200).send('Webhook received');
});
app.listen(port, () => {
console.log(`Webhook receiver listening at http://localhost:${port}`);
});

Créer un webhook pour s’abonner à un événement blockchain

Section intitulée « Créer un webhook pour s’abonner à un événement blockchain »

Pour vous abonner à un webhook, vous devez envoyer une requête à l’API ChainGateway avec les paramètres appropriés.

  • url (requis) : L’URL de votre endpoint récepteur de webhook. Doit être une URL valide.
  • from : L’adresse de l’émetteur (optionnel, au moins un des deux from ou to est requis).
  • to : L’adresse du destinataire (optionnel, au moins un des deux from ou to est requis).
  • contractaddress : L’adresse du contrat du token (optionnel).
  • token_id : Requis lorsque ni from ni to ne sont présents.
  • type : Le type de transaction (optionnel). Valeurs possibles : TRX, TRC10, TRC20, TRC721.

Remplacez YOUR_API_TOKEN par votre token API réel.

Fenêtre de terminal
curl --request POST \
--url https://api.chaingateway.io/v2/webhooks \
--header 'Accept: application/json' \
--header 'content-type: application/json' \
--header 'Authorization: YOUR_API_TOKEN' \
--data '{
"url": "http://yourdomain.com/webhook",
"from": "TXSenderAddress",
"to": "TXReceiverAddress",
"contractaddress": "0xTokenContractAddress",
"token_id": "12345",
"type": "TRC20"
}'
  • Assurez-vous que votre endpoint récepteur de webhook est publiquement accessible et peut traiter les requêtes HTTP POST.
  • Sécurisez votre endpoint webhook en validant la source des requêtes entrantes et en garantissant l’intégrité des données.
  • Chaingateway ne stocke pas d’informations sensibles comme le token. Conservez donc ces informations de manière sécurisée.
  • Pour obtenir une clé API et en savoir plus sur l’autorisation, consultez la section Prise en main de la documentation Chaingateway.