Перейти к основному содержимому

Обзор API

Каждое устройство NMMiner запускает HTTP-сервер на порту 80, который предоставляет полноценное REST-подобное API. То же самое API используется:

  • Встроенным браузерным интерфейсом NM Monitor.
  • Агрегатором Swarm.
  • Кем угодно — вами, вашей панелью мониторинга, плагином Grafana, скриптом Python — кто хочет читать статус или отправлять настройки.

✅ На этой странице документирован публичный контракт: пути, методы, тела запросов, тела ответов, коды состояния. ❌ Она не документирует реализацию. Рассматривайте устройство как чёрный ящик, доступный по HTTP.

Базовый URL

http://<miner-ip>/

или по имени хоста (большинство домашних роутеров его разрешают):

http://<miner-hostname>/

IP / имя хоста можно найти на странице Miner экрана устройства или в разделе System NM Monitor.

CORS

Каждая конечная точка отвечает с заголовком:

Access-Control-Allow-Origin: *

поэтому вы можете вызывать API с любой браузерной страницы без проксирования.

Аутентификация

На сегодняшний день аутентификация отсутствует. API предназначен для использования внутри вашей доверенной локальной сети. Не выставляйте его в публичный интернет без собственного шлюза.

Тип содержимого

  • Тела запросов используют application/json.
  • Тела ответов — либо application/json, либо text/plain.
  • Все конечные точки принимают и отвечают на CORS pre-flight запрос OPTIONS.

Категории

КатегорияКонечные точки
DiscoveryGET /probe, GET /alive
SystemGET /api/system/info, POST /api/system/restart
Сетевые настройкиGET/POST /api/setting/network
Настройки майнингаGET/POST /api/setting/mining
Настройки времениGET/POST /api/setting/time
Настройки предпочтенийGET/POST /api/setting/preference
Настройки рынкаGET/POST /api/setting/market, GET /api/market/pairs
Настройки погодыGET/POST /api/setting/weather, POST /api/weather/refresh
Swarm FindPOST /api/swarm/find
Загрузка заставкиGET /api/update/screensaver/preflight, POST /api/update/screensaver
ПримерыcURL / Python / JavaScript

Версионирование

Контракт стабилен в пределах минорных версий прошивки (например, v2.0.x). Критические изменения отмечаются в журнале релизов GitHub.

Коды состояния

КодЗначение
200OK — тело ответа соответствует документированной схеме.
204OK — используется для CORS preflight.
400Неверный запрос — обычно некорректный JSON или значения вне диапазона.
404Такой конечной точки не существует.
413Слишком большой объём данных (только загрузка заставки).
429Ограничение частоты — в настоящее время используется /api/weather/refresh.
500Ошибка устройства (например, сбой записи файловой системы при загрузке).

Обнаружение

Посетите http://<miner-ip>/api-doc для получения живого HTML-справочника, обслуживаемого самим майнером. Если фактическое API отличается от этой вики, живой /api-doc устройства всегда имеет приоритет.