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

REST API

Внешний REST API GetOLT — для интеграций с биллингами, мониторингом, скриптами автоматизации, дашбордами.

Базовый путь

/api/v1/external/

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

Все запросы требуют API-ключ в заголовке:

X-API-Key: getolt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Уровни доступа

УровеньРазрешения
READ_ONLYТолько GET-запросы (чтение данных)
FULLGET + POST (чтение + действия)

Ограничения

  • Rate limiting: по умолчанию 60 запросов/минуту, настраивается на уровне API-ключа.
  • IP whitelist: опционально можно ограничить ключ списком разрешённых IP.

Коды ошибок аутентификации

HTTPОписание
401Отсутствует или невалидный API-ключ
403Недостаточный уровень доступа
429Превышен лимит запросов

Формат ответа

Успех:

{
"success": true,
"data": { ... },
"meta": {
"page": 0,
"size": 20,
"totalCount": 150
}
}

Ошибка:

{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Описание ошибки"
}
}

Пример: список OLT

GET /api/v1/external/olts?page=0&size=20&vendor=BdCom

Параметры:

ПараметрТипПо умолчанию
pageint0
sizeint20 (макс. 100)
vendorstring
citystring
statusstring
Окно терминала
curl -H "X-API-Key: getolt_abc123..." \
"http://localhost:8088/api/v1/external/olts?page=0&size=20&vendor=BdCom"

Ответ:

{
"success": true,
"data": [
{
"id": 1,
"ip": "10.0.0.1",
"vendor": "BdCom",
"model": "P3310C",
"status": "OK",
"city": "Москва",
"operator": "360pro",
"totalPorts": 8,
"totalOnu": 256,
"lastUpdate": "2026-01-23T10:30:00"
}
],
"meta": { "page": 0, "size": 20, "totalCount": 45 }
}

Что ещё доступно

Помимо OLT и ONU, через API можно работать с конфигурациями, оптикой, VLAN, СЗО, аудит-логами. Полный набор endpoint’ов и параметров — в OpenAPI-спецификации, отдаётся самим приложением (/swagger-ui при включённом профиле).

Те же возможности доступны через MCP-сервер — удобно для LLM-агентов.