REST API
Внешний REST API GetOLT — для интеграций с биллингами, мониторингом, скриптами автоматизации, дашбордами.
Базовый путь
/api/v1/external/Аутентификация
Все запросы требуют API-ключ в заголовке:
X-API-Key: getolt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxУровни доступа
| Уровень | Разрешения |
|---|---|
READ_ONLY | Только GET-запросы (чтение данных) |
FULL | GET + 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Параметры:
| Параметр | Тип | По умолчанию |
|---|---|---|
page | int | 0 |
size | int | 20 (макс. 100) |
vendor | string | — |
city | string | — |
status | string | — |
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-агентов.