Перейти к содержимому

Создание вебхуков

Это руководство поможет вам создавать вебхуки с помощью API Chaingateway. Оно включает подробности о написании базового приёмника вебхуков, подписке на вебхук и обработке параметров, специфичных для конкретной сети.

Наша система вебхуков работает как система Instant Payment Notification. Её можно использовать для уведомления вашего программного обеспечения о входящем платеже или получении токена. Она состоит из двух частей кода:

Вебхук: Это URL-эндпоинт, на который будут отправляться уведомления вебхука. Вы должны предоставить этот URL API Chaingateway при подписке на вебхук. Вам также нужно указать параметры фильтра, такие как sender, receiver, contractaddress, token_id и type (тип транзакции). Если в блокчейне происходит событие, соответствующее этим критериям, мы отправим вебхук на указанный вами URL.

Приёмник вебхука: Это код, который выполняется на вашем сервере и прослушивает входящие уведомления вебхука. Он получает payload вебхука и выполняет необходимые действия в вашем программном обеспечении на основе полученных данных.

Чтобы настроить систему вебхуков, вам нужно реализовать код приёмника вебхука на своём сервере и настроить URL вебхука в API Chaingateway. После настройки, каждый раз при возникновении платежа или получении токена, API Chaingateway будет отправлять POST-запрос на ваш URL вебхука, запуская код приёмника вебхука и позволяя вашему программному обеспечению предпринять соответствующие действия.

Приёмник вебхука — это эндпоинт сервера, который прослушивает входящие HTTP POST-запросы от ChainGateway. Ниже приведены примеры базовых приёмников вебхуков на различных языках программирования.

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}`);
});

Создание вебхука для подписки на событие блокчейна

Заголовок раздела «Создание вебхука для подписки на событие блокчейна»

Чтобы подписаться на вебхук, вам нужно отправить запрос к API ChainGateway с соответствующими параметрами.

  • url (обязательный): URL вашего приёмного эндпоинта вебхука. Должен быть допустимым URL.
  • from: Адрес отправителя (необязательный, требуется хотя бы один из from или to).
  • to: Адрес получателя (необязательный, требуется хотя бы один из from или to).
  • contractaddress: Адрес контракта токена (необязательный).
  • token_id: Обязателен, если отсутствуют и from, и to.
  • type: Тип транзакции (необязательный). Возможные значения: TRX, TRC10, TRC20, TRC721.

Замените YOUR_API_TOKEN на ваш реальный API-токен.

Окно терминала
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"
}'
  • Убедитесь, что ваш приёмный эндпоинт вебхука публично доступен и может обрабатывать HTTP POST-запросы.
  • Защитите свой эндпоинт вебхука, проверяя источник входящих запросов и обеспечивая целостность данных.
  • Chaingateway не хранит чувствительную информацию, такую как токен. Поэтому храните эту информацию в безопасности.
  • Информацию о получении API-ключа и об авторизации см. в разделе «Начало работы» документации Chaingateway.