Перейти до основного вмісту

Перевірки транзакцій

Перевірка транзакції скринить одну транзакцію з погляду вашого клієнта: кошти, які він отримав у депозиті, або кошти, які він надсилає у виведенні. Вона використовує ту саму кінцеву точку, той самий scope (checks:write) і той самий вердикт, що й перевірка адреси, тож усі поля відповіді дивіться на тій сторінці.

Запит​

ПолеОбов'язковеОпис
subjectтак"transaction".
assetтакСимвол активу точно так, як у Підтримуваних активах.
tx_hashтакХеш транзакції, не більше 160 символів. Його форма має бути чинною для активу.
directionтак"deposit", коли ваш клієнт отримує кошти, "withdrawal", коли він їх надсилає.
addressінодіАдреса вашого клієнта в транзакції, не більше 160 символів. Див. наступний розділ.

Невідомі поля відхиляються. Як і в кожній перевірці, надсилайте Idempotency-Key, щоб повторення не могло виконати перевірку чи списання вдруге; див. Ідемпотентність.

Адреса клієнта​

address — це адреса вашого клієнта в транзакції: одержувач депозиту, відправник виведення.

  • У TRX, ETH, BNB і BASE її можна пропустити. API читає транзакцію й використовує одержувача для deposit та відправника для withdrawal. Ліміт, баланс і ємність перевіряються першими, тож відмовлений обліковий запис не спричиняє жодних запитів.
  • В усіх інших активах вона обов'язкова, а запит без неї відповідає 422 ADDRESS_REQUIRED. Підтримувані активи показують активи, що можуть її визначити.
  • Ключі sandbox завжди вимагають її. Перевірка транзакції під ключем sandbox без address також відповідає ADDRESS_REQUIRED; див. Sandbox і live.
  • Якщо ви її надіслали, вона використовується як є. Нічого не виводиться.

Вердикт закріплює використану адресу: поле address відповіді, доказовий звіт і rederive містять її, незалежно від того, чи ви її надіслали, чи API вивело її. Звіряйте поле address зі своїми записами, якщо покладаєтеся на виведене значення.

Якщо адресу пропущено, а транзакцію не вдається прочитати, запит відповідає 422 TRANSACTION_UNRESOLVED. Так буває, коли такого хеша немає в цій мережі, коли одержувача депозиту не вдається декодувати або коли джерело даних блокчейну не відповіло вчасно. Нічого не прийнято й нічого не списано. Перевірте хеш і мережу, повторіть запит або надішліть адресу самі.

Приклади​

Депозит TRON без адреси та виведення Ethereum із вказаною адресою.

# TRON deposit, address derived from the transaction
curl -s -X POST https://api.leeri.ai/v1/checks \
-H "Authorization: Bearer $LEERI_API_KEY" \
-H "Idempotency-Key: deposit-2291" \
-H "Content-Type: application/json" \
-d '{"subject":"transaction","asset":"TRX","tx_hash":"'"$TX_HASH"'","direction":"deposit"}'

# Ethereum withdrawal, address supplied
curl -s -X POST https://api.leeri.ai/v1/checks \
-H "Authorization: Bearer $LEERI_API_KEY" \
-H "Idempotency-Key: payout-5530" \
-H "Content-Type: application/json" \
-d '{"subject":"transaction","asset":"ETH","tx_hash":"'"$ETH_TX_HASH"'","direction":"withdrawal","address":"'"$ADDRESS"'"}'

Що додає відповідь​

Відповідь — це той самий CheckView, що й у перевірки адреси, тож status може бути completed або pending; див. Pending і опитування. Для перевірки транзакції заповнені такі поля:

ПолеЗначення
subjecttransaction.
tx_hashТранзакція, яку перевірено.
directiondeposit або withdrawal, як ви надіслали.
addressВикористана адреса клієнта, надіслана або виведена.
amountСума транзакції десятковим рядком, ніколи не числом із рухомою комою. null, коли вона невідома.
risky_volume_usdВартість у USD потоку транзакції, пов'язаного з ризиковими контрагентами, десятковим рядком. null, доки перевірка не завершиться.

Перевірка адреси, за яку вас уже списали в тому самому блокчейні протягом останніх 7 днів, безкоштовна, зокрема й тоді, коли ви перевіряєте її як транзакцію; див. Обмеження частоти запитів і ліміти.

Помилки​

Усе з розділу Перевірки адрес чинне, а також:

СтатусКодКоли
422ADDRESS_REQUIREDaddress пропущено для активу, що не може її визначити, або під ключем sandbox.
422TRANSACTION_UNRESOLVEDaddress пропущено, а транзакцію не вдалося прочитати. Ніколи не списується.
400VALIDATION_ERRORtx_hash, direction або address із недійсною формою, або невідоме поле.

Елементи пакета завжди надсилають address, бо пакет приймається без читання будь-якого блокчейну.