NodeCoreX
ГлавнаяСправочный центрДокументация по API
English Deutsch 日本語 Español Français Русский • 简体中文 繁體中文
НачатьСтарт
ГлавнаяСправочный центрДокументация по API
ВойтиСоздать аккаунт

API-документация

Интеграция NodeCoreX через локальные API (порт 5200) и удалённые API. Удалённые запросы требуют подпись SHA-256 из учётной записи, пароля, кода машины и метки времени.

Локальный API устройства

Базовый URL: http://localhost:5200

GET http://localhost:5200/nodes/count

Получить количество узлов

Получите общее количество рекламных узлов, работающих на текущем устройстве.

Успех (HTTP 200):
{
  "success": true,
  "count": 4
}
Ошибка (не-200):
{
  "success": false,
  "message": "Service unavailable"
}
GET http://localhost:5200/nodes/list

Получить список индексов узлов

Получить список всех индексов узлов для последующих операций по индексу.

Успех (HTTP 200):
{
  "success": true,
  "nodeIndexes": [
    0,
    1,
    2,
    3
  ]
}
Ошибка (не-200):
{
  "success": false,
  "message": "Failed to list nodes"
}
GET http://localhost:5200/nodes/status

Получить статус узла

Получите статус работы каждого узла (работает, остановлен, ошибка и т. д.).

Успех (HTTP 200):
{
  "success": true,
  "statuses": [
    {
      "index": 0,
      "status": "running",
      "uptime": 3600
    },
    {
      "index": 1,
      "status": "stopped",
      "uptime": 0
    },
    {
      "index": 2,
      "status": "error",
      "message": "Proxy timeout"
    }
  ]
}
Ошибка (не-200):
{
  "success": false,
  "message": "Unable to read node status"
}
POST http://localhost:5200/nodes/{nodeIndex}/start

Запустить узел

Запустить узел воспроизведения рекламы по заданному индексу узла.

Параметры:
  • nodeIndex (path) — Индекс узла (отсчет от 0)
Успех (HTTP 200):
{
  "success": true,
  "message": "Node started",
  "index": 0
}
Ошибка (не-200):
{
  "success": false,
  "message": "Invalid node index or already running"
}
POST http://localhost:5200/nodes/{nodeIndex}/stop

Остановить узел

Остановить узел воспроизведения рекламы для данного индекса узла.

Параметры:
  • nodeIndex (path) — Индекс узла (отсчет от 0)
Успех (HTTP 200):
{
  "success": true,
  "message": "Node stopped",
  "index": 0
}
Ошибка (не-200):
{
  "success": false,
  "message": "Invalid node index or already stopped"
}
POST http://localhost:5200/nodes/{nodeIndex}/proxy

Установить прокси для узла

Настройте прокси-соединение (хост, порт, аутентификацию и т. д.) для данного индекса узла.

Параметры:
  • nodeIndex (path) — Индекс узла
  • ip (body) — Конечная точка прокси
  • port (body) — Прокси-порт
  • username (body) — Имя пользователя прокси (необязательно)
  • password (body) — Пароль прокси (необязательно)
Пример тела запроса:
{
  "ip": "127.0.0.1",
  "port": 7890,
  "username": null,
  "password": null
}
Успех (HTTP 200):
{
  "success": true,
  "message": "Proxy updated",
  "index": 0
}
Ошибка (не-200):
{
  "success": false,
  "message": "Invalid proxy or connection failed"
}
GET http://localhost:5200/device/info

Получить информацию об устройстве

Получите базовую информацию об устройстве, такую как машинный код, модель и версия.

Успех (HTTP 200):
{
  "success": true,
  "machineCode": "PM-XXXX-YYYY",
  "model": "Standard",
  "version": "1.0.0",
  "firmware": "1.2.3"
}
Ошибка (не-200):
{
  "success": false,
  "message": "Node info unavailable"
}
GET http://localhost:5200/device/health

Проверка работоспособности устройства

Проверьте, запущена ли локальная служба; может использоваться для отчетов о пульсе.

Успех (HTTP 200):
{
  "success": true,
  "healthy": true,
  "uptime": 3600,
  "nodesActive": 4
}
Ошибка (не-200):
{
  "success": false,
  "healthy": false,
  "message": "Service unhealthy"
}

API удалённого сервера

Базовый URL: хост API вашей платформы (см. консоль приложения для эндпоинтов окружения).

GET /api/device/ads

Получить список рекламных задач

Получите сайты-источники объявлений, типы объявлений, идентификаторы объявлений, URL-адреса воспроизведения и связанный контент.

Параметры:
  • sign (query) требуется — Подпись; см. Алгоритм знаков ниже
  • machineCode (query) требуется — Код аппаратного устройства
  • timestamp (query) требуется — Временная метка запроса (секунды)
Успех (HTTP 200):
{
  "success": true,
  "data": {
    "ads": [
      {
        "id": "ad-001",
        "adType": "Video",
        "source": "example.com",
        "sourceUrl": "https://example.com/campaign/1",
        "playUrl": "https://cdn.example.com/ad-001",
        "duration": 30,
        "rewardPerView": 0.001
      }
    ]
  }
}
Ошибка (не-200):
{
  "success": false,
  "message": "Invalid sign or expired timestamp",
  "code": "AUTH_FAILED"
}
GET /api/device/earnings

Получайте доход по узлу или устройству

Получите подробную информацию или сводку о доходах по коду устройства и дополнительному индексу узла.

Параметры:
  • sign (query) требуется — Подпись
  • machineCode (query) требуется — Код устройства
  • timestamp (query) требуется — Временная метка
  • nodeIndex (query) — Индекс узла; опустить для доходов на уровне устройства
  • startDate (query) — Дата начала ГГГГ-ММ-ДД
  • endDate (query) — Дата окончания ГГГГ-ММ-ДД
Успех (HTTP 200):
{
  "success": true,
  "data": {
    "totalPoints": 1200,
    "currency": "points",
    "details": [
      {
        "date": "2025-03-01",
        "nodeIndex": 0,
        "points": 300,
        "adCount": 120
      },
      {
        "date": "2025-03-01",
        "nodeIndex": 1,
        "points": 280,
        "adCount": 115
      }
    ]
  }
}
Ошибка (не-200):
{
  "success": false,
  "message": "Node not found or access denied",
  "code": "FORBIDDEN"
}
POST /api/device/heartbeat

Пульсация устройства

Периодически сообщайте о онлайн-статусе устройства и статусе работы узла.

Параметры:
  • sign (query) требуется — Подпись
  • machineCode (query) требуется — Код устройства
  • timestamp (query) требуется — Временная метка
Пример тела запроса:
{
  "nodeStatuses": [
    {
      "index": 0,
      "status": "running",
      "uptime": 3600
    },
    {
      "index": 1,
      "status": "running",
      "uptime": 3600
    },
    {
      "index": 2,
      "status": "stopped",
      "uptime": 0
    }
  ],
  "deviceHealthy": true
}
Успех (HTTP 200):
{
  "success": true,
  "message": "Heartbeat received",
  "nextReportIn": 60
}
Ошибка (не-200):
{
  "success": false,
  "message": "Invalid sign or machineCode",
  "code": "AUTH_FAILED"
}
GET /api/device/config

Получить конфигурацию устройства

Получите конфигурацию запуска для устройства (например, интервал выполнения задачи, ограничения по региону).

Параметры:
  • sign (query) требуется — Подпись
  • machineCode (query) требуется — Код устройства
  • timestamp (query) требуется — Временная метка
Успех (HTTP 200):
{
  "success": true,
  "data": {
    "taskInterval": 30,
    "allowedRegions": [
      "US",
      "GB",
      "DE"
    ],
    "maxConcurrentAds": 4,
    "reportInterval": 60
  }
}
Ошибка (не-200):
{
  "success": false,
  "message": "Invalid sign or node",
  "code": "AUTH_FAILED"
}

Алгоритм подписи

Удалённые API-запросы требуют параметры запроса sign, machineCode, и timestamp.

sign = SHA256(account + password + machineCode + timestamp)
Создать учетную запись Справочный центр

© 2026 NodeCoreX. Все права защищены.

Главная·Справочный центр·Документация по API·Условия·Конфиденциальность