Импорт структурированных данных
15
NetUP UTM5 поддерживает импорт XML-файлов, содержащих следующие сущности: пользователей, телефонные направления и телефонные зоны.
Импорт подклассов трафика в виде CSV-файлов описан в разделе Классы трафика.
Импорт первичной информации о трафике и звонках из текстовых файлов описан в разделе Импорт текстовых файлов.
1.В меню центра управления выберите Система: Импорт.
2.Нажмите Обзор и выберите XML-файл.
3.Отметьте галочками сущности, которые предполагается импортировать. (Прочие сущности, если они встретятся в файле, будут игнорированы.)
Импортируемый файл XML проверяется на соответствие схеме (см. ниже). Также проверяется отсутствие дублирования существующих объектов и валидность перекрестных ссылок (т. е. существование объектов, на которые имеются ссылки в импортируемых данных). При успешной проверке файл импортируется в базу. В противном случае выдаётся сообщение об ошибке и импорт не производится.
Полная схема XML-файла находится по адресу www.netup.ru/xsd/import.xsd. Пример приведён в разделе Пример XML-файла.
XML-дерево файла начинается с элемента верхнего уровня import, содержащего элементы users, zones и directions (см. схемы ниже), каждый из которых может включать произвольное количество дочерних элементов user, zone и direction, соответственно.
Рис. 1. Схема XML-файла (элемент users ).
Содержит информацию о пользователе. Может включать следующие элементы (все, кроме логина и одного счёта, являются необязательными):
Элемент |
Тип |
Значение по умолчанию |
Описание |
число |
не задано |
Идентификатор (зарезервирован для использования в будущем). При записи в базу элементу присваивается другой идентификатор. |
|
строка |
Обязательный элемент |
Логин |
|
Набор элементов account (см. account) |
|||
строка |
не задано |
Пароль |
|
строка |
не задано |
Наименование |
|
0, 1 |
0 |
1 – юридическое лицо, |
|
строка |
не задано |
Юридический адрес |
|
строка |
не задано |
Фактический адрес |
|
строка |
не задано |
Район |
|
строка |
не задано |
Строение |
|
строка |
не задано |
Подъезд |
|
строка |
не задано |
Этаж |
|
строка |
не задано |
Квартира |
|
строка |
не задано |
Паспортные данные |
|
число |
не задано |
ID дома в списке домов в UTM |
|
строка |
не задано |
Рабочий телефон |
|
строка |
не задано |
Домашний телефон |
|
строка |
не задано |
Мобильный телефон |
|
строка |
не задано |
Номер ICQ |
|
строка |
не задано |
ИНН |
|
строка |
не задано |
КПП |
|
строка |
не задано |
Е-mail |
|
число |
не задано |
Идентификатор банка |
|
строка |
не задано |
Номер расчётного счёта |
|
строка |
не задано |
Комментарий |
|
строка |
не задано |
Персональный менеджер |
|
число |
не задано |
Дата подключения в формате Unix timestamp |
|
0, 1 |
0 |
||
0, 1 |
0 |
||
число |
не задано |
ID коммутатора |
|
число |
не задано |
Номер порта коммутатора |
|
число |
не задано |
ID закреплённой валюты пользователя |
|
Набор элементов parameter (см. parameter) |
|||
Набор элементов group (см. group) |
Элемент account может содержать:
Элемент |
Тип |
Значение по умолчанию |
Описание |
число |
не задано |
Идентификатор (зарезервирован для использования в будущем). При записи в базу элементу присваивается другой идентификатор. |
|
число |
0 |
см. Тип блокировки |
|
вещественное число |
0 |
Баланс счёта |
|
вещественное число |
0 |
Кредит |
|
вещественное число |
0 |
Ставка НДС |
|
вещественное число |
0 |
Ставка НСП |
|
0, 1 |
1 |
Статус доступа в Интернет |
–256 – присутствует системная блокировка;
–768 – присутствует системная блокировка, пересчитывать абонентскую плату;
–1280 – присутствует системная блокировка, пересчитывать трафик;
–1792 – присутствует системная блокировка, пересчитывать абон. плату и трафик;
Элемент parameter должен содержать:
Элемент |
Тип |
Значение по умолчанию |
Описание |
число |
Обязательный параметр |
Идентификатор дополнительного параметра |
|
строка |
Обязательный параметр |
Значение параметра |
Элемент group должен содержать:
Элемент |
Тип |
Значение по умолчанию |
Описание |
число |
Обязательный параметр |
Идентификатор группы, в которую входит пользователь. |
Содержит информацию о телефонной зоне. Может включать следующие элементы:
Элемент |
Тип1 |
Значение по умолчанию |
Описание |
число |
не задано |
Идентификатор (зарезервирован для использования в будущем). При записи в базу элементу присваивается другой идентификатор. |
|
строка |
Обязательный элемент |
Наименование |
|
число |
0 |
Тип звонков: |
Содержит информацию о телефонном направлении. Может включать:
Обязательным является указание хотя бы одного элемента из следующих пяти: called_prefix, calling_prefix, incoming_trunk, outgoing_trunk или pbx_id.
При импорте файла, приведённого ниже, создаются следующие сущности:
–Телефонное направление “Москва”, включающее звонки, входящие номера которых определяются регулярным выражением ^749(5|9)[0-9]{7}$.
–Телефонная зона “Россия” типа 2 (для междугородных звонков), включающая направление “Москва”.
–Пользователь Иванов (физическое лицо), входящий в группу 2, с определёнными логином и паролем, с одним счётом и остатком 650 р. на счёте.
<?xml version="1.0" encoding="utf-8"?>
<import>
<users>
<user>
<accounts>
<account>
<id>1</id>
<balance>650</balance>
<vat_rate>0.18</vat_rate>
<int_status>1</int_status>
</account>
</accounts>
<id>11</id>
<login>ivanov</login>
<password>aipsw123</password>
<full_name>Иванов</full_name>
<is_juridical>0</is_juridical>
<groups>
<group>
<group_id>2</group_id>
</group>
</groups>
</user>
</users>
<zones>
<zone>
<id>1</id>
<name>Россия</name>
<zone_type>2</zone_type>
</zone>
</zones>
<directions>
<direction>
<id>1</id>
<name>Москва</name>
<called_prefix>^749(5|9)[0-9]{7}$</called_prefix>
<zone_id>1</zone_id>
<called_prefix_regexp>1</called_prefix_regexp>
</direction>
</directions>
</import>