Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
REST API ap_group_id, UniFi Network
 
Привет, коллеги. Просто хотел уточнить один популярный вопрос. Если коротко: я хочу программно создавать сайты и менять некоторые базовые параметры, а также добавлять дополнительные SSID/WLAN через Python и REST API на контроллере Unifi. Как я выяснил, официальной документации API нет... даже в 2025 году (кроме этой, с ubntwiki). Ладно, могу разобраться, анализируя ответы контроллера и что-то вроде GPT, но застрял на создании WLAN. Проблема в том, что параметр `ap_group_id` обязателен, согласно ответу "Failed to create WLAN 'test': {"meta":{"rc":"error","msg":"api.err.ApGroupMissing"},"data":[]}". Но этот ID генерируется уже после создания нового WLAN. Структура данных выглядит так (если создавать WLAN вручную через веб-интерфейс):
{
"meta": {"rc": "ok"},
"data": [
{
"setting_preference": "manual",
"x_iapp_key": "a7240b79e8acae80f1e514e340cc36a0",
"wpa3_support": false,
"wpa_mode": "wpa2",
"auth_cache": true,
"minrate_setting_preference": "auto",
"networkconf_id": "67697d65a35ebb7f98871547",
"dtim_na": 3,
"minrate_na_enabled": false,
"hotspot2conf_enabled": false,
"enabled": true,
"wlan_bands": ["2g", "5g"],
"mac_filter_policy": "allow",
"security": "wpapsk",
"radius_das_enabled": false,
"wep_idx": 1,
"group_rekey": 3600,
"ap_group_ids": ["67697834a35ebb7f98870a8a"],
"l2_isolation": true,
"minrate_ng_enabled": true,
"minrate_ng_data_rate_kbps": 1000,
"bss_transition": true,
"pmf_cipher": "auto",
"ap_group_mode": "all",
"pmf_mode": "optional",
"wpa3_transition": false,
"passphrase_autogenerated": false,
"private_preshared_keys": [],
"wpa_enc": "ccmp",
"bc_filter_enabled": false,
"x_passphrase": "testtest123",
"usergroup_id": "67697834a35ebb7f98870a86",
"schedule_enabled": false,
"mcastenhance_enabled": true,
"mac_filter_list": [],
"proxy_arp": true,
"country_beacon": true,
"dtim_mode": "custom",
"iapp_enabled": true,
"bc_filter_list": [],
"name": "test",
"site_id": "67697834a35ebb7f98870a70",
"minrate_na_data_rate_kbps": 6000,
"wlan_band": "both",
"mac_filter_enabled": false,
"_id": "67697e14a35ebb7f9887171d",
"dtim_ng": 2
},
{
"setting_preference": "manual",
"x_iapp_key": "ad8887af6e11ffadedf08704515d7c73",
"wpa3_support": false,
"wpa_mode": "wpa2",
"auth_cache": true,
"minrate_setting_preference": "auto",
"networkconf_id": "67697d72a35ebb7f988716ee",
"dtim_na": 3,
"minrate_na_enabled": false,
"hotspot2conf_enabled": false,
"enabled": true,
"wlan_bands":
}
]
}

Некоторые уже поднимали эту тему, например, здесь https://community.ui.com/questions/Unifi-Controller-6-023-API-documentation/cfcc6e89-b504-46ad-9426-9d963e1bc8f2 и здесь https://community.ui.com/questions/API-V2-Question/b420decb-e2e9-4404-8939-1b3c0d5bf8e4 и многие другие, которые можно найти в Google. Но проблема остается. Не мог бы кто-нибудь поделиться секретом, как получить `ap_group_id` в процессе создания WLAN? Версия: 8.6.9 (Build: atag_8.6.9_27327). Пожалуйста, не предлагайте решения на PHP, это не вариант по каким-то причинам.

Заранее спасибо и с наступающим новым годом.
 
Возможно, в чем дело, я использую UI 8.6.9.0, Backend 8.6.9, Build atag_8.6.9_27327, только последнюю версию в лабораторной среде на Ubuntu VM. Все плитки, когда я пытаюсь получить что-то из /proxy/network/v2/api/*, возвращают 404 ошибку.
 
Использую UDM-SE, UniFi OS 4.0.21, сеть 8.6.9.
 
Какую версию WLC ты используешь?
 
Насколько я понимаю, есть 2 варианта: либо этот ap_group_id создается где-то еще, например, в глобальных параметрах сайта, и нам просто нужно его получить, либо он создается где-то в фоновом режиме в процессе создания WLAN, и я понятия не имею, как его можно получить. Даже если WLAN еще не создан, ap_group_id уже существует. "Работает у тебя?" Да. Ниже вывод из Postman "_id" - это то, что тебе нужно указать как ap_group_id при создании WLAN.
 
Спасибо, друг! Но пишет, что этот URL не существует: https://{{ip_address}}/proxy/network/v2/api/site/default/apgroups. Работает у тебя? Ну, конечно, с правильным IP:портом. Насколько я понимаю, есть два варианта: либо этот ap_group_id создаётся где-то ещё, например, в глобальных параметрах сайта, и нам просто нужно его получить, либо он создаётся где-то на заднем плане в процессе создания WLAN, и я понятия не имею, как его получить. Что касается apgroups: https://{{ip_address}}/api/s/{{site_id}}/rest/wlanconf/apgroups существует, но он пустой: {"meta":{"rc":"ok"},"data":[]}
 
Привет, попробуй этот endpoint: https://{{ip_address}}/proxy/network/v2/api/site/default/apgroups.
С уважением.
Страницы: 1
Читают тему (гостей: 1)