XML интерфейс управления (XML API)

В системе реализирован XML интерфейс управления услугами и абонентами. Интерфейс находит по адресу WEB интерфейса. Оправка получение данных производится по протоколу HTTP POST/GET. Для получения данных в XML к запросам добавляется параметр &xml=1. В системе есть возможность экспорта всех таблиц список в XML и CSV.

Пример:
Получить списка абонентов
Запрос

https://your.host:9443/admin/index.cgi?index=11&EXPORT_CONTENT=USERS_LIST&xml=1
index=11 Номер функции. В системе существует динамическая нумерация функций в зависимости от настроек системы и настроек параметров доступа и по этому возможны ситуация когда номера функций не будут отображать те же данные под разными аккаунтами. Для полнолуния правильных номеров функции можно использовать параметр get_index=[название функции]
https://your.host:9443/admin/index.cgi?get_index=form_users&xml=1
EXPORT_CONTENT=USERS_LIST Экспортировать только данные таблицы USERS_LIST (список пользователей)
xml=1 Отобразить исходные данные в формате XML

Ответ

<TABLE CAPTION="Пользователи - Все" ID="USERS_LIST">
<TITLE columns="8">
  <COLUMN_1 NAME="Логин" SORT="DESC"/>
  <COLUMN_2 NAME="ФИО"/><COLUMN_3 NAME="Депозит"/>
  <COLUMN_4 NAME="Кредит"/><COLUMN_5 NAME="Статус"/>
  <COLUMN_6 NAME="Дополнительный Депозит"/>
  <COLUMN_7 NAME="-"/>
  <COLUMN_8 NAME="-"/>
</TITLE>
<DATA><ROW>
  <TD>0</TD>
  <TD/>
  <TD>10.000000</TD>
  <TD>0.00</TD>
  <TD>Активно</TD>
  <TD>0.000000</TD>
  <TD><BUTTON VALUE="index=2&UID=108446">Оплаты</BUTTON></TD>
  <TD><BUTTON VALUE="index=3&UID=108446">Снятие денег</BUTTON></TD>
</ROW>
</TABLE>

Описание вывода:

<TABLE CAPTION="Пользователи - Все" ID="USERS_LIST">

Начало списка

CAPTION Заголовок списка
ID ИД списка
<TITLE columns="8">
  <COLUMN_1 NAME="Логин" SORT="DESC"/>
  <COLUMN_2 NAME="ФИО"/><COLUMN_3 NAME="Депозит"/>
...
</TITLE>

Описание и заголовки полей списка

<DATA>
<ROW>
  <TD>0</TD>
  <TD/>
  <TD>10.000000</TD>
  ...
</ROW>
</DATA>

Секция данных

<DATA>…</DATA> Маркер секции данных
<ROW>…</ROW> Маркер записи
<TD>…</TD> Маркер поля

Информационные Сообщения

<MESSAGE TYPE="info" CAPTION="Fees">Текст</MESSAGE>
MESSAGE 9Идентификатор сообщения
TYPE=«info» Тип сообщения
info - успешное віполнение операции
err - Ошибка при выполнении операции
CAPTION Заголовок сообщения

Примеры работы

список доступных функций

index.cgi?xml=1
<INFO>
    <TITLE_TEXT/>
    <BODY>
        <INFO>
            <TIME>15:51:32</TIME>
            <DATE>2016-04-22</DATE>
            <LOGIN>test</LOGIN>
            <IP>192.168.0.107</IP>
            <STATE>Активно</STATE>
            <STATE_CODE>0</STATE_CODE>
            <MENU>
                <SID>aV6x4cz9PC9jzVJ1</SID>
                <MENU NAME="iptv_user_info" ID="64" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="Телевидение" TYPE="MAIN"/>
                <MENU NAME="iptv_user_chg_tp" ID="65" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="Тарифный план"
                      TYPE="SUB" PARENT="64"/>
                <MENU NAME="ashield_user" ID="63" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="Антивирус Dr.Web"
                      TYPE="MAIN"/>
                <MENU NAME="cards_user_payment" ID="60" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="Интернет карточки"
                      TYPE="MAIN"/>
                <MENU NAME="sharing_user_info" ID="58" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="Sharing" TYPE="MAIN"/>
                <MENU NAME="sharing_user_stats" ID="59" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="Статистика" TYPE="SUB"
                      PARENT="58"/>
                <MENU NAME="ipn_user_activate" ID="55" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="IP Net" TYPE="MAIN"/>
                <MENU NAME="ipn_getnet" ID="57" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="Тарифы трафика" TYPE="SUB"
                      PARENT="55"/>
                <MENU NAME="ipn_sessions2" ID="56" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="Статистика" TYPE="SUB"
                      PARENT="55"/>
                <MENU NAME="msgs_user" ID="54" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="Техническая Поддержка"
                      TYPE="MAIN"/>
                <MENU NAME="mail_users_list" ID="53" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="E-MAIL" TYPE="MAIN"/>
                <MENU NAME="docs_invoices_list" ID="52" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="Документы"
                      TYPE="MAIN"/>
                <MENU NAME="voip_user_info" ID="49" EX_ARGS="&sid=aV6x4cz9PC9jzVJ1" DESCRIBE="VoIP" TYPE="MAIN"/>

Информация об абоненте

index.cgi?qindex=15&UID=4884&xml=1&header=1
qindex=15 Номер функции информации и изменения данных абонента
UID=4884 UID абонента
xml=1 флаг xml вывода
header=1 заголовок для бравзеров

Отображает список параметров абонента

Добавление абонента

Пример

index.cgi?get_index=form_wizard&header=1&xml=1&add=1&LOGIN=test_user&CREATE_BILL=1&FIO=Test User Fio

Управление абонентом

Каждый из отображаемых параметров абонента можно изменить отправив

change=1&НАЗВАНИЕ_ПАРАМЕТРА=Значение параметра

Пример Изменить кредит на зачение 35

index.cgi?qindex=15&UID=4884&xml=1&header=1&change=1&CREDIT=35
1. Управление состоянием абонента (активно, приостановлен, отключен и.т.д.)

Поиск абонента

формат запроса

index=7&search_form=1&search=1&type=11&header=1&xml=1&[параметры поиска]

Пример
поиск по номер контракта. контракт номер 3333

index.cgi?qindex=7&search_form=1&search=1&type=11&header=1&xml=1&CONTRACT_ID=3333

Поиск по телефону

index.cgi?qindex=7&search_form=1&search=1&type=11&header=1&xml=1&PHONE=1234321

Пополнение депозита

С помощь XML интерфейса можно пополнять счёт абонента


Пример

index.cgi?qindex=2&UID=4884&xml=1&header=1&SUM=100&add=1
qindex=2 Номер функции
UID=4884 ID абонента
xml=1 флаг xml вывода
header=1 заголовок для бравзеров
SUM=100 Сума поплнения
add=1 Флаг добавления денег

Дополнительные параметры

DESCRIBE Описание платежа
INNER_DESCRIBE Коментарий для администратора
ER Курс обмена. Указывается номер курса
METHOD Метод оплаты
EXT_ID Внешний идентификатор
BILL_ID Денежный счёт. Если не указан используется основной

Начисления

С помощь XML интерфейса можно производить начисления


Пример

index.cgi?qindex=3&UID=4884&xml=1&header=1&SUM=100&take=1
qindex=3 Номер функции
UID=4884 ID абонента
xml=1 флаг xml вывода
header=1 заголовок для браузеров
SUM=100 Сума пополнения
take=1 Флаг начисления (снятия со счета)

Дополнительные параметры

DESCRIBE Описание платежа
INNER_DESCRIBE Коментарий для администратора
ER Курс обмена. Указывается номер курса
METHOD Тип снятия

Изменении параметров услуг

Изменении дополнительных данных абонента из модулей расширения (Dv, Voip, IPTV). Данными для изменения могут быть

  • IP Адрес
  • Тарифный план
  • Статус сервиса


Информация о сервисе Internet

index.cgi?get_index=dv_user&xml=1&header=1&UID=4884 
get_index=dv_user Информация по услуге Internet
UID=4884 ID абонента
xml=1 флаг xml вывода
header=1 заголовок для браузеров


Изменении Тарифного плана и статуса для сервиса сервисе Internet

index.cgi?get_index=dv_user&xml=1&header=1&UID=4884&TP_ID=21&STATUS=5&change=1 
get_index=dv_user
UID=4884 ID абонента
xml=1 флаг xml вывода
header=1 заголовок для браузеров
TP_ID=21 Номер нового тарифного палана
STATUS=4 Установить статус услуги 5 (слишком маленький депозит)

Статусы:
0 Активно
1 Отключено
2 Не активизирован
3 Приостановление
4 Отключено: Неуплата
5 Cлишком маленький депозит
change=1 Применить изменения

Установка изменения тарифного плана по расписанию

UID=4889&Shedule=status&get_index=dv_form_shedule&xml=1&header=1&Shadule=status&DATE=2012-11-01&ACTION=3&add=1
get_index=dv_form_shedule управление расписанием
Shedule=status Изменении статуса учётной записи
DATE Зада когда надо изменить в формате (YYYY-MM-DD)
ACTION Номер статуса для изменения
add Применить действия

Управление точками подключения

Добавление домов
(add=1)

index.cgi?get_index=form_streets&BUILDS=5261&NUMBER=69&STREET_ID=5261&add=1&xml=1&header=1

Параметры

BUILDS Номер улицы для идентификации прикреплённых домов
STREET_ID Номер улицы номер улицы для дома. Если дом переносится на другую улицу этот номер будет отличатся от BUILDS. Если не переносится номера идентичны
ENTRANCES Подездов
FLORS Этажей
FLATS Квартир
CONTRACT_ID Номер контракта
COMMENTS Коментарий
COORDX координаты для google map
COORDY координаты для google map

Изменение параметров точки подключения (дома)

(change=1)

index.cgi?get_index=form_streets&BUILDS=5261&LOCATION_ID=3618&COMMENTS=test&change=1&xml=1&header=1
ID уникальный номер дома в системе

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

Добавление сервера доступа

index.cgi?get_index=form_nas&add=1&header=1&NAS_NAME=test_geo2&IP=22.11.11.11
IP IP адрес
NAS_NAME Название
TYPE Тип
NAS_ALIVE Время подтверждения активности
NAS_DISABLE Статус
0 - Активен
1 - Выключен
2 - В ремонте
NAS_MNG_IP_PORT IP/Port управления
NAS_MNG_USER Пользователь для управления
NAS_MNG_PASSWORD Пароль управления
NAS_DESCRIBE Описание устройства
NAS_ID ID устройства
NAS_IDENTIFIER Дополнительный идентификатор
MAC MAC устройства
GID Группа
LOCATION_ID Привязка к адресу

JSON интерфейс

В системе реализирован JSON интерфейс управления услугами и абонентами. Интерфейс находит по адресу WEB интерфейса. Оправка получение данных производится по протоколу HTTP POST/GET. Для получения данных в JSON формате к запросам добавляется параметр &json=1.