RetrieveUserLocationHistory - Запрос статистики пользователя по перемещению между ТД по логину

Общая информация

  1. Команда актуальна, начиная с версии 1.8.

  2. До версии 1.17 при обработке запроса данные ТД получались из EMS. NBI обращался в EMS-NBI по URL 'getAPListExtended'.

  3. Начиная с версии 1.17 от этого отказались, и данные NBI получает сам из MySQL eltex_ems.ELTEX_OBJ_GEO. Поведение аналогично обработке команды GetGeoObjectsList

Входные параметры

Параметр Значение Формат значения Расшифровка формата Ссылка

trackingObjectType

Тип объекта, по которому будет показана история перемещения ("ap" либо "ssid"), обязательно

^(ap|ssid)$

ap либо ssid

username

Имя пользователя

^.{1,64}$

Текст до 64-х символов.

Wi-Fi пользователь

mac

MAC-адрес устройства пользователя

^([0-9a-fA-F]{2}[:-]){5}([0-9a-fA-F]{2})$

6 двузначных шестнадцатеричных чисел, разделенных ':'.

APDomain

Фильтр по домену. Если домен начинается с символа '.' , то статистика будет по всем ТД для данного домена и его поддоменов.

(?=^.{1,235}$)(^((?!-|_|.*(__|--).*)[a-zA-Z0-9_\-]{1,63}\.)*((?!-|_|.*(__|--).*)[a-zA-Z0-9_\-]{1,63})$)

Текст длиной до 235 символов, удовлетворяющий правилам FQDN (за исключением варианта с точкой в начале)

Domain

startTime

Начальный момент активности пользователя

.*

Время по стандарту "ISO 8601" в формате «yyyy-MM-ddTHH:mm:ssZ», например "2007-12-03T10:15:30Z"

endTime

Конечный момент активности пользователя

.*

Время по стандарту "ISO 8601" в формате «yyyy-MM-ddTHH:mm:ssZ», например "2008-12-03T10:15:30Z

pauseBetweenSessions

Минимальное время между сессиями

PnDTnHnMn.nS

Есть четыре раздела, каждый из которых состоит из числа и суффикса. Разделы имеют суффиксы в ASCII «D», «H», «M» и «S» для дней, часов, минут и секунд, принимаемых в верхнем или нижнем регистре. Должен присутствовать хотя бы один из четырех разделов. Например: 'PT20.345S' - 20.345 секунд, 'PT15M' - 15 минут

ssidType

Тип SSID, обязательно

^(hotspot|enterprise|equipment)$

hotspot (0), enterprise (1) или equipment (2). Можно указывать цифрами

count

Число записей, обязательно

^[1-9][0-9]*$

Целое положительное число

offset

Сдвиг по записям, обязательно

^[0-9]*$

Целое положительное число или ноль

orderBy

Поле для сортировки (рекомендуется "minAcctStartTime")

^(minAcctStartTime| maxAcctStopTime| sumAcctSessionTime)$

minAcctStartTime - время начала первой сессии на ТД/ssid, maxAcctStopTime - время окончания последней сессии на ТД/ssid, sumAcctSessionTime - суммарное время всех сессий на ТД/ssid

orderType

Поле определяющее тип сортировки. (По умолчанию ASC), обязательно

^(ASC|DESC)$

ASC или DESC

queryTotalCount

Сделать запрос общего количества записей, обязательно

^(true|false)$

true - получить значение total, false - не получать значение total (будет равен -1)

Выходные параметры

Параметр Значение Формат значения

array

Массив объектов NbiLocationArrayItem

NbiLocationArrayItem

total

Общее число объектов

Целое число

code

Код ответа

Целое число

detail

Пояснение к ответу

Строка

Примеры команд и кодов

Код Описание

0

Успешно

Запрос
<nbi:RetrieveUserLocationHistory>
 <nbi:trackingObjectType>ssid</nbi:trackingObjectType>
 <nbi:username>favarish</nbi:username>
 <nbi:mac>1A-6d-c5-ba-09-01</nbi:mac>
 <nbi:APDomain>root</nbi:APDomain>
 <nbi:startTime>2007-12-03T10:15:30Z</nbi:startTime>
 <nbi:endTime>2021-10-03T10:15:30Z</nbi:endTime>
 <nbi:pauseBetweenSessions>PT15M</nbi:pauseBetweenSessions>
 <nbi:ssidType>enterprise</nbi:ssidType>
 <nbi:count>2</nbi:count>
 <nbi:offset>1</nbi:offset>
 <nbi:orderBy>minAcctStartTime</nbi:orderBy>
 <nbi:orderType>ASC</nbi:orderType>
 <nbi:queryTotalCount>true</nbi:queryTotalCount>
</nbi:RetrieveUserLocationHistory>
Ответ
<ns:RetrieveUserLocationHistoryResponse>
 <ns:return>
    <ax23:code>0</ax23:code>
    <ax23:detail>Success</ax23:detail>
    <ax241:array>
       <ax241:items>
          <ax241:acct>
             <ax241:SSID>ent</ax241:SSID>
             <ax241:apDomain>root</ax241:apDomain>
             <ax241:clientDomain>root</ax241:clientDomain>
             <ax241:clientIP>10.25.96.51</ax241:clientIP>
             <ax241:clientMAC>1A-6D-C5-BA-09-01</ax241:clientMAC>
             <ax241:clientName>favarish</ax241:clientName>
             <ax241:inputOctets>98093</ax241:inputOctets>
             <ax241:nasIP>10.25.96.115</ax241:nasIP>
             <ax241:nasMAC>A8-F9-4B-B2-48-E0</ax241:nasMAC>
             <ax241:outputOctets>433589</ax241:outputOctets>
             <ax241:startTime>2021-04-19T01:33:29Z</ax241:startTime>
             <ax241:stopTime>2021-04-19T01:46:45Z</ax241:stopTime>
             <ax241:summarySessionTime>PT13M16S</ax241:summarySessionTime>
             <ax241:timeSinceLastSession>PT71H13M38S</ax241:timeSinceLastSession>
          </ax241:acct>
          <ax241:ap>
             <ax241:building/>
             <ax241:city/>
             <ax241:domain/>
             <ax241:floor/>
             <ax241:house/>
             <ax241:ip/>
             <ax241:mac/>
             <ax241:name/>
             <ax241:office/>
             <ax241:street/>
             <ax241:type/>
          </ax241:ap>
       </ax241:items>
       <ax241:items>
          <ax241:acct>
             <ax241:SSID>ent</ax241:SSID>
             <ax241:apDomain>root</ax241:apDomain>
             <ax241:clientDomain>root</ax241:clientDomain>
             <ax241:clientIP>10.25.96.51</ax241:clientIP>
             <ax241:clientMAC>1A-6D-C5-BA-09-01</ax241:clientMAC>
             <ax241:clientName>favarish</ax241:clientName>
             <ax241:inputOctets>42480</ax241:inputOctets>
             <ax241:nasIP>10.25.96.115</ax241:nasIP>
             <ax241:nasMAC>A8-F9-4B-B2-48-E0</ax241:nasMAC>
             <ax241:outputOctets>128132</ax241:outputOctets>
             <ax241:startTime>2021-05-04T06:38:11Z</ax241:startTime>
             <ax241:stopTime>2021-05-04T06:39:53Z</ax241:stopTime>
             <ax241:summarySessionTime>PT1M42S</ax241:summarySessionTime>
             <ax241:timeSinceLastSession>PT364H51M26S</ax241:timeSinceLastSession>
          </ax241:acct>
          <ax241:ap>
             <ax241:building/>
             <ax241:city/>
             <ax241:domain/>
             <ax241:floor/>
             <ax241:house/>
             <ax241:ip/>
             <ax241:mac/>
             <ax241:name/>
             <ax241:office/>
             <ax241:street/>
             <ax241:type/>
          </ax241:ap>
       </ax241:items>
    </ax241:array>
    <ax241:total>3</ax241:total>
 </ns:return>
</ns:RetrieveUserLocationHistoryResponse>

Код Описание ошибки

2

Ошибка взаимодействия с базой данных MySQL

8

Некорректный домен

10

У роли нет прав на данный домен

13

Клиент заблокирован

62

Несуществующий домен

63

Некорректный формат MAC-адреса пользовательского устройства.

105

Некорректный формат поля startTime

106

Некорректный формат поля endTime

107

Некорректно указан период времени (startTime позже endTime)

112

Некорректно указан параметр count (должно быть указано положительное число)

131

Некорректно указан параметр offset (должно быть указано положительное число или ноль)

312

Некорректное значение параметра

436

Не указан обязательный параметр

437

Некорректный тип сортировки (параметр запроса 'orderType')

438

Некорректный тип объекта для показа истории перемещения (параметр запроса 'trackingObjectType')

439

Не корректный формат паузы между сессиями

Пример использования

См. также

Вернуться к списку команд
Версия 1.26-3053
Дата публикации 31-03-2023 06:03:06