Черновик документации по интеграции Carbon Reductor DPI X с биллингами.
h1. REST-API
У Carbon Reductor DPI X есть REST-API для управления абонентами.
Грубо говоря, это позволяет отправлять команды с помощью curl.
В текущей версии управление строится на добавлении и снятии политик для абонентов.
Абоненты идентифицируются по IP адресу, поэтому в случае снятия зеркала после NAT управление абонентами работать не будет.
h2. Как работает API
Схема REST API:
{code}
http://адрес-carbon-reductor-dpi-x:порт/api/v1/policy/название-политики/ip-адрес-абонента
{code}
Поддерживается 4 вида политики:
* auth - абонент авторизован
* negbal - абонент в отрицательном балансе
* blocked - абонент заблокирован администратором
* notify - абоненту будет один раз показано уведомление
h2. Примеры команд для управления абонентами
Пусть веб-интерфейс Carbon Reductor DPI X доступен по адресу http://10.30.40.1:8083.
Авторизовать абонента 10.30.40.50
{code}
curl -XPOST http://10.30.40.1:8083/api/v1/policy/auth/10.30.40.50
{code}
Проверить, перенаправляется ли абонент 10.30.40.50 на страницу отрицательного баланса
{code}
curl http://10.30.40.1:8083/api/v1/policy/negbal/10.30.40.50
{code}
Перестать блокировать абонента 10.30.40.50
{code}
curl -XDELETE http://10.30.40.1:8083/api/v1/policy/blocked/10.30.40.50
{code}
Показать абоненту 10.30.40.50 уведомление один раз:
{code}
curl -XPOST http://10.30.40.1:8083/api/v1/policy/notify/10.30.40.50
{code}
h1. REST-API
У Carbon Reductor DPI X есть REST-API для управления абонентами.
Грубо говоря, это позволяет отправлять команды с помощью curl.
В текущей версии управление строится на добавлении и снятии политик для абонентов.
Абоненты идентифицируются по IP адресу, поэтому в случае снятия зеркала после NAT управление абонентами работать не будет.
h2. Как работает API
Схема REST API:
{code}
http://адрес-carbon-reductor-dpi-x:порт/api/v1/policy/название-политики/ip-адрес-абонента
{code}
Поддерживается 4 вида политики:
* auth - абонент авторизован
* negbal - абонент в отрицательном балансе
* blocked - абонент заблокирован администратором
* notify - абоненту будет один раз показано уведомление
h2. Примеры команд для управления абонентами
Пусть веб-интерфейс Carbon Reductor DPI X доступен по адресу http://10.30.40.1:8083.
Авторизовать абонента 10.30.40.50
{code}
curl -XPOST http://10.30.40.1:8083/api/v1/policy/auth/10.30.40.50
{code}
Проверить, перенаправляется ли абонент 10.30.40.50 на страницу отрицательного баланса
{code}
curl http://10.30.40.1:8083/api/v1/policy/negbal/10.30.40.50
{code}
Перестать блокировать абонента 10.30.40.50
{code}
curl -XDELETE http://10.30.40.1:8083/api/v1/policy/blocked/10.30.40.50
{code}
Показать абоненту 10.30.40.50 уведомление один раз:
{code}
curl -XPOST http://10.30.40.1:8083/api/v1/policy/notify/10.30.40.50
{code}