Как отслеживать переводы от заданной суммы
Настройка минимальной суммы для одного актива в Monitoring: базовые единицы, включающая граница и проверка на искусственных данных.
Обновлено:
В Monitoring можно учитывать переводы от заданной суммы: для адреса выбранного проекта настройте «Минимальная сумма» в «Расширенных фильтрах». Порог задаётся целым числом в минимальных единицах выбранного актива. Условие включающее: перевод с суммой, равной порогу, подходит, а меньший — нет.
Начните с одного актива в одной сети. Например, задача может состоять в отслеживании входящих переводов определённого токена на ваш адрес. Это правило суммы перевода, а не цена в долларах, сумма всех поступлений за день или настройка сообщений внешнего провайдера.
Подготовьте актив и единицы
Выберите проект с доступной услугой «Мониторинг», публичный адрес и право изменять его настройки. Убедитесь, что нужная сеть доступна для рабочего наблюдения. Для добавления публичного адреса не нужны приватный ключ и фраза восстановления.
Зафиксируйте точный актив и число его десятичных разрядов. Названия токена недостаточно: сеть и идентификатор должны совпадать с выбранным способом наблюдения. Если принимаете USDT, не считайте разные сети или похожие токены одним активом. Выбор объяснён в статье «Чем отличаются сеть и токен».
Человеческую сумму нужно перевести в базовые единицы: умножить её на десять в степени числа десятичных разрядов актива. Не используйте округлённый долларовый эквивалент. Для актива с шестью разрядами порог 10 единиц записывается как 10000000. Это пример масштаба, а не универсальный порог для всех монет.
Шаг 1. Откройте добавление адреса
Откройте «Мониторинг», выберите проект и раздел «Адреса». Нажмите «Добавить адреса». На вкладке «Вручную» выберите сеть и введите публичный адрес. Дождитесь результата проверки формата; принадлежность адреса и готовность подключения проверяйте отдельно.
В блоке использования адреса выберите «Один ассет». Для основной монеты сети поле «Актив» оставьте пустым, а для токена укажите поддерживаемый идентификатор выбранной сети. Для описанного примера оставьте «Входящие» включёнными. Если нужны исходящие, отдельно проверьте их поддержку и настройку направления.
Для первого правила не выбирайте сразу все активы: один числовой порог в разных минимальных единицах не означает одинаковую экономическую сумму. Настройка конкретной пары сети и актива позволяет проверить расчёт без смешения масштабов.
Шаг 2. Задайте минимальную сумму
Разверните «Расширенные фильтры». В поле «Минимальная сумма» с подсказкой «Базовые единицы сети» введите рассчитанное целое число, например 10000000 для описанного выше масштаба. Этому значению соответствует параметр min_amount.
Не вводите здесь десятичную дробь, обозначение монеты, знак валюты или разделители тысяч. Пустое значение означает, что отдельный минимум суммы не задан. Само число не переводится автоматически из долларов и не подстраивается под курс.
«Минимум подтверждений» — другое условие. Не меняйте его, чтобы компенсировать ошибку в сумме. Порог проверяется для отдельного учитываемого перевода: несколько меньших поступлений не складываются автоматически в один подходящий платёж.
Шаг 3. Сохраните и проверьте правило
Нажмите «Добавить адрес» и выполните показанную проверку защиты, если кабинет её требует. После сохранения откройте адрес, найдите правило нужного проекта и проверьте актив, направление и записанный минимум. Убедитесь, что подключение активно; успешный ввод числа сам по себе этого не доказывает.
Если один адрес используется в нескольких проектах, проверяйте именно выбранное правило. Другой проект может иметь иной порог и получать другие события. Наличие перевода в другом проекте не означает, что ваш минимум проигнорирован.
Шаг 4. Проверьте границу без реального перевода
Для порога 10000000 ожидаемые результаты в минимальных единицах такие:
| Сумма перевода | Проверка суммы |
|---|---|
| 9999999 | Меньше порога, не подходит |
| 10000000 | Равна порогу, подходит |
| 10000001 | Выше порога, подходит |
Проверьте эти случаи на подготовленных искусственных данных в локальной проверке своей интеграции. У всех примеров должны совпадать сеть, актив, адрес и направление; иначе проверяется уже другое условие. Отправлять криптовалюту для проверки арифметики фильтра не требуется. Такая проверка границы не подтверждает доставку уведомления выбранному получателю — маршрут уведомлений проверяется отдельно.
Если результат отличается от ожидаемого
Сначала сравните минимальные единицы и масштаб, затем актив, направление, проект и активность правила. Проверьте фактическую сумму перевода, а не текущую оценку в валюте отображения. Для разбора записи пригодится TXID. Сам факт события Monitoring не подтверждает оплату заказа: для этого нужна связь с инвойсом и проверка его состояния.