Звіти про адреси
Про адресу ви часто знаєте більше, ніж будь-який набір даних: через неї ошукали клієнта, або депозитна адреса на вашій платформі належить вам. POST /v1/address-reports дає змогу передати нам це знання. Звіти бувають двох видів.
report_type | Що він стверджує | Що потрібно |
|---|---|---|
abuse (типово) | Адресу використовують для зловживань. | category і щонайменше одне перевірюване підтвердження: evidence_url або evidence_tx_hash. |
own_deposit | Адреса — одна з ваших власних депозитних адрес. | Ні категорії, ні підтвердження. |
Що робить звіт
Звіт потрапляє в окрему чергу прийому. Він ніколи сам не змінює вердикт, оцінку чи мітку: результат скринінгу залишається таким, яким його визначають набір правил і опубліковані мітки. Лише пізніший розгляд може перетворити звіт на опубліковану мітку. Обліковий запис, що стоїть за звітом, зберігається лише для контролю зловживань і ніколи не прикріплюється до мітки, яку згодом можуть опублікувати на його основі.
Статус received у відповіді — це підтвердження отримання, а не рішення. Не покладайтеся на те, що звіт змінить результат перевірки; і далі застосовуйте власну політику до вердиктів, які отримуєте.
Запит
POST /v1/address-reports зі scope checks:write (див. Автентифікація).
| Поле | Обов'язкове | Опис |
|---|---|---|
chain | так | tron, ethereum, bsc, base або bitcoin. |
address | так | Адреса, не більше 160 символів. Її перевіряють для ланцюга, зокрема контрольну суму, якщо формат її має. |
report_type | ні | abuse (типово) або own_deposit. |
category | для abuse | scam, illicit або exploit. Для own_deposit не приймається. |
evidence | так | Короткий опис того, що ви знаєте, від 1 до 2000 символів. |
evidence_url | для abuse, якщо не вказано evidence_tx_hash | Публічне https-посилання, що підтверджує звіт, не більше 2048 символів. Ми його ніколи не завантажуємо. |
evidence_tx_hash | для abuse, якщо не вказано evidence_url | Хеш транзакції в тому самому ланцюзі, що показує зловживання, не більше 160 символів. Має бути правильно сформованим для ланцюга. |
Невідомі поля відхиляються. Звинувачення у зловживанні — серйозна річ: надсилайте лише те, що можете обґрунтувати.
- curl
- Node.js
- Python
curl -s -X POST https://api.leeri.ai/v1/address-reports \
-H "Authorization: Bearer $LEERI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chain": "tron",
"address": "'"$ADDRESS"'",
"report_type": "abuse",
"category": "scam",
"evidence": "Received customer funds under a fake investment offer.",
"evidence_tx_hash": "'"$TX_HASH"'"
}'
const response = await fetch('https://api.leeri.ai/v1/address-reports', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.LEERI_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
chain: 'tron',
address,
report_type: 'abuse',
category: 'scam',
evidence: 'Received customer funds under a fake investment offer.',
evidence_tx_hash: txHash,
}),
});
const { data } = await response.json();
console.log(response.status, data.report_id, data.duplicate);
import os
import requests
response = requests.post(
"https://api.leeri.ai/v1/address-reports",
headers={"Authorization": f"Bearer {os.environ['LEERI_API_KEY']}"},
json={
"chain": "tron",
"address": address,
"report_type": "abuse",
"category": "scam",
"evidence": "Received customer funds under a fake investment offer.",
"evidence_tx_hash": tx_hash,
},
timeout=30,
)
data = response.json()["data"]
print(response.status_code, data["report_id"], data["duplicate"])
Щоб підтвердити власну депозитну адресу, надішліть "report_type": "own_deposit" з chain, address і evidence, без категорії й підтвердження.
Відповідь
Новий звіт повертає 202, повторний повертає 200. Обидва містять звіт у data:
| Поле | Опис |
|---|---|
report_id | Ідентифікатор запису в черзі прийому. Стабільний при повторах того самого звіту. |
status | received. |
chain, address | У збереженому вигляді: адреси EVM і bech32 переводяться в нижній регістр, усі інші форми зберігаються як надіслано. |
report_type, category | Як подано. Для own_deposit category дорівнює null. |
duplicate | true, коли ваш обліковий запис уже подавав звіт цього виду щодо цієї адреси в цьому середовищі. |
created_at | Коли звіт було вперше отримано. |
На обліковий запис, середовище ключа, ланцюг, адресу й вид звіту припадає один звіт. Повторне подання повертає 200 зі збереженим звітом і duplicate: true та ніколи не перезаписує підтвердження, надіслане вперше.
Ліміти й помилки
Звіти про адреси обмежено 10 на хвилину на обліковий запис, з усіх його ключів разом; див. Обмеження частоти запитів і ліміти.
| Статус | Код | Коли |
|---|---|---|
400 | VALIDATION_ERROR | Невідоме поле; адреса, неправильна для ланцюга (формат або контрольна сума); відсутня категорія у звіті abuse або категорія у звіті own_deposit; звіт abuse без evidence_url і evidence_tx_hash; evidence_url не https; або хеш транзакції, неправильно сформований для ланцюга. |
403 | SCOPE_ERROR | У ключа немає scope checks:write. |
429 | RATE_LIMIT_EXCEEDED | Більше 10 звітів за хвилину. Повторіть після Retry-After. |
503 | RATE_LIMIT_STORE_UNAVAILABLE | Сховище лімітів недоступне; запит відхиляється, а не обслуговується без ліміту. Повторіть невдовзі. |