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

Пакет

Пакет перевіряє до 100 адрес або транзакцій в одному запиті. Використовуйте його, щоб повторно перевірити наявну базу клієнтів або розібрати накопичені черги без сотні окремих запитів; пакет рахується як один запит до обмеження частоти.

Надсилання пакета​

POST /v1/checks/batch зі scope checks:write.

{
"items": [
{ "subject": "address", "asset": "TRX", "address": "…" },
{ "subject": "transaction", "asset": "ETH", "tx_hash": "…", "direction": "deposit", "address": "…" }
]
}
  • items містить від 1 до 100 елементів. Порожній список, понад 100 елементів або невідоме поле відповідають 400 VALIDATION_ERROR.
  • Кожен елемент має тіло однієї перевірки: див. Перевірки адрес і Перевірки транзакцій.
  • Елементи завжди надсилають address, також і елементи-транзакції. Пакет приймається без читання будь-якого блокчейну, тож адресу не можна вивести з транзакції. Елемент без неї — помилка валідації.
  • Елемент з непідтримуваним активом відповідає 422 UNSUPPORTED_ASSET, і весь пакет відхиляється.

API приймає пакет і відповідає 202, нічого не перевіряючи в межах запиту:

{
"status": "ok",
"data": {
"batch_id": "c1e5a9d2-3f1b-4a67-b2c8-7d90e4f61a35",
"item_count": 2,
"status": "queued",
"items": [
{ "item_index": 0, "check_id": "8a2f6c10-5d4e-4b73-9a1c-0e3b7d52f984" },
{ "item_index": 1, "check_id": "2d7b1e90-6a3c-4f58-8c14-b5a09f3e7d62" }
]
},
"errors": []
}

item_index — це нульова позиція елемента в масиві items, і вона не змінюється протягом життя пакета. Кожен елемент — повноцінна перевірка зі своїм check_id.

curl -s -X POST https://api.leeri.ai/v1/checks/batch \
-H "Authorization: Bearer $LEERI_API_KEY" \
-H "Idempotency-Key: rescreen-2026-10" \
-H "Content-Type: application/json" \
-d '{"items":[
{"subject":"address","asset":"TRX","address":"'"$ADDRESS_1"'"},
{"subject":"address","asset":"BTC","address":"'"$ADDRESS_2"'"}
]}'

Допуск — усе або нічого​

Кожен елемент резервується й приєднується до пакета одним кроком. Якщо щось не може бути допущено, нічого не приймається й нічого не списується:

СтатусКодЗначення
402INSUFFICIENT_BALANCEЛіміт і попередньо поповнений баланс не покривають усі елементи.
429PROVIDER_CAPACITY_EXCEEDEDЄмність для запитів зараз заповнена. Повторіть після Retry-After.
422PROVIDER_CAPACITY_REQUEST_TOO_LARGEОдному цьому пакету потрібно більше ємності, ніж має ваш обліковий запис. Він ніколи не пройде й не підлягає повторенню: розбийте його на менші пакети.

Кожен live-елемент може займати до 10 слотів запитів, доки його запити не зафіксовано, а типова ємність облікового запису завжди допускає один повний пакет зі 100 елементів, коли більше нічого не очікує. Див. Обмеження частоти запитів і ліміти.

Читання результатів​

Елементи перевіряються у фоні, за обмеженням частоти запитів до сторонніх джерел даних, тож великий пакет потребує часу. Стежте за прогресом через GET /v1/checks/batch/{batch_id} (scope checks:read):

ПолеЗначення
batch_id, item_countПакет і скільки елементів він містить.
statusqueued, running або completed.
completed_count, failed_countСкільки елементів завершилися вердиктом і скільки зазнали невдачі.
itemsКожен елемент із тим самим тілом, що й GET /v1/checks/{check_id}, плюс item_index.

Пакет стає completed, коли completed_count + failed_count досягає item_count. Пакет ніколи не зазнає невдачі цілком через один елемент: читайте власний status кожного елемента (completed, pending або failed, як у будь-якої перевірки), а що вони означають — див. Pending і опитування.

Елементи — звичайні перевірки, тож один із них можна прочитати й за його check_id через GET /v1/checks/{check_id}. Якщо вебхук зареєстровано, кожен елемент, що завершується, викликає власну доставку check.completed: по одній на елемент, а не на пакет; див. Вебхуки.

curl -s https://api.leeri.ai/v1/checks/batch/$BATCH_ID \
-H "Authorization: Bearer $LEERI_API_KEY"

Повторення пакета​

Надсилайте Idempotency-Key разом із пакетом. Повторення того самого ключа з тим самим тілом повертає той самий пакет замість створення другого, а ключ кожного елемента виводиться з ключа пакета та його позиції, тож жоден елемент не може бути перевірений двічі. Той самий ключ з іншим тілом відповідає 422 IDEMPOTENCY_KEY_CONFLICT. Див. Ідемпотентність.