Web3 Actions
Этот тип назначения оповещения означает, что ваш action будет использоваться как назначение для оповещения.example.yaml
Webhooks
Этот тип назначения оповещения позволяет выполнять ваш webhook при срабатывании оповещения. Ваш webhook получит подписанную полезную нагрузку, содержащую объект транзакции, которая вызвала срабатывание оповещения.После добавления webhook как назначения оповещения его можно использовать как назначение для других оповещений.
Как использовать Webhooks для оповещений
Требования к webhook:
- Он должен быть доступен по URL webhook: при добавлении webhook Tenderly отправляет GET-запрос для проверки доступности. Любой HTTP-ответ проходит проверку; проверка не проходит только при транспортных ошибках (DNS, TCP, TLS или отсутствие ответа в течение 2 секунд).
- Он должен предоставлять метод POST с тем же URI webhook. Webhook будет получать полезную нагрузку, описанную ниже.
- Доставка считается неуспешной, если webhook не ответит статусом
2xxв течение 10 секунд. - Настоятельно рекомендуется использовать HTTPS для URL webhook.
- Success: webhook успешно выполнен и событие доставлено на указанный URL
- Failed: webhook не удалось выполнить из-за ошибки, такой как проблема с соединением, ошибка в URL и т. д. (проверьте содержимое ответа, чтобы понять причину ошибки, или обратитесь в нашу поддержку)
- Pending: webhook находится в процессе выполнения и ещё не завершён
- Retry: выполнение webhook не удалось и будет повторено; событие доставляется максимум за 5 попыток всего, после чего статус становится Success или Failed
- Skipped: webhook не был выполнен, поскольку был отключён
Полезная нагрузка webhook
Webhook получит полезную нагрузку, представляющую событие оповещения. Она состоит из четырёх полей:- id:
String, ID, уникальный среди всех доставленных событий оповещений (UUID). - event_type:
TEST|ALERT, тип события webhook. - alert_id:
String, ID оповещения, правило которого вызвало это событие. Пусто для событийTEST. - transaction:
Object, объект, представляющий недекодированную транзакцию, вызвавшую оповещение и выполнение webhook.
TEST.
Используйте поле
id, чтобы гарантировать, что ваш webhook обрабатывает каждое событие оповещения ровно один раз,
отслеживая уже обработанные ID.Защита webhook
Вы можете повысить безопасность своих webhook с помощью проверки подписи. Так вы можете убедиться, что запрос к webhook исходит от Tenderly, прежде чем продолжать выполнение. Заголовокx-tenderly-signature содержит криптографическую подпись: HMAC-SHA256 дайджест, вычисленный с секретным ключом подписи в качестве ключа над полезной нагрузкой запроса, за которой следует метка времени. Метка времени передаётся в HTTP-заголовке Date запроса.
Шаг 1. Получите секретный ключ подписи.

Копирование секретного ключа подписи
- всю полезную нагрузку запроса webhook,
- метку времени (из заголовка
Dateзапроса).
x-tenderly-signature.
- example.go
- example.js
- example.py
example.go
Отладка выполнения webhook
Для облегчения отладки неисправностей webhook вы можете вручную отправлять событияTEST на основе существующих транзакций из любой сети.
Шаг 1. Нажмите “Test Webhook” в панели навигации страницы webhooks.

Обзор webhook

Тестирование webhook: вставка хеша транзакции
TEST. Вы получите обзор этого выполнения.

Результат ручного (тестового) выполнения webhook