Вспомогательные методы
Наверх | Исполнение запросов в БД<<< | Вспомогательные методы | >>>Осуществление и прием вызовов |
Содержание
Методы, используемые в ходе работы для получения наборов данных
- string GetAllUsersInfo ( ). Возвращает информацию о всех пользователях системы. В теле возвращаемой XML-структуры содержатся такие значения как id, имя, логин, признак оператора, роль, текущее состояние и статус переадресации текущего авторизованного пользователя. Может быть использовано, например, при создании правил переадресации для указания пользователей, на которых распространяется правило. Запрашиваемая информация возвращается из БД.
Формат возвращаемого xml (на примере):
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data name="allusers" count="3"> <property_set name="user" id="77579e8b-cd9a-43ca-b07e-1658220bbaae"> <property_simple key="id" value="77579e8b-cd9a-43ca-b07e-1658220bbaae" /> <property_simple key="type" value="1" name="utUser" /> <property_cdata key="name"><![CDATA[Роман]]></property_cdata> <property_simple key="isoperator" value="1" /> <property_simple key="group" value="c4e3b424-3048-4cce-a2e4-033c532a7d99" name="Программисты" /> <property_cdata key="login"><![CDATA[xaka]]></property_cdata> <property_cdata key="role" value="cd90026f-f66d-4ca5-b182-66f2b94dbe1e"><![CDATA[<Индивидуальная роль>]]></property_cdata> <property_simple key="callerid" value="" /> <property_cdata key="info"><![CDATA[]]></property_cdata> </property_set> <property_set name="user" id="59df4a16-df71-418e-97d1-2959d0c1198c"> <property_simple key="id" value="59df4a16-df71-418e-97d1-2959d0c1198c" /> <property_simple key="type" value="1" name="utUser" /> <property_cdata key="name"><![CDATA[Владимир]]></property_cdata> <property_simple key="isoperator" value="0" /> <property_simple key="group" value="2b5ff241-e876-4806-8455-0838cdab0358" name="Сметы" /> <property_cdata key="login"><![CDATA[v]]></property_cdata> <property_cdata key="role" value="00000000-0000-0000-0000-000000000000" /> <property_simple key="callerid" value="" /> <property_cdata key="info"><![CDATA[]]></property_cdata> </property_set> <property_set name="user" id="fddcf3db-d543-48e3-a849-2d704365c5e3"> <property_simple key="id" value="fddcf3db-d543-48e3-a849-2d704365c5e3" /> <property_simple key="type" value="1" name="utUser" /> <property_cdata key="name"><![CDATA[Игорь]]></property_cdata> <property_simple key="isoperator" value="0" /> <property_simple key="group" value="c4e3b424-3048-4cce-a2e4-033c532a7d99" name="Программисты" /> <property_cdata key="login"><![CDATA[Igor]]></property_cdata> <property_cdata key="role" value="00000000-0000-0000-0000-000000000000" /> <property_simple key="callerid" value="" /> <property_cdata key="info"><![CDATA[]]></property_cdata> </property_set> </data> </oktellcommapper>
- string GetAllUsersStates ( ). Возвращает информацию о полных состояниях всех пользователей системы. В теле возвращаемой XML-структуры содержатся такие значения как id, имя, признак оператора, принадлежность к отделу, состояние, присутствие в call-центре, перерыв, переадресация, информация о текущей привязанной линии: идентификатор, номер, код, тип, состояние. Запрашиваемая информация возвращается с сервера состояний и не использует обращения к БД.
Формат возвращаемого xml (на примере):
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data name="usersstates" count="1"> <property_set name="userstates"> <property_simple key="resultcode" value="100" name="Success" /> <property_simple key="resultdescription" value="Success" /> <property_collection name="users" count="3"> <property_set name="user" id="27feb209-beb8-402e-a86d-cc1ff7d117a4"> <property_cdata key="id"><![CDATA[27feb209-beb8-402e-a86d-cc1ff7d117a4]]></property_cdata> <property_simple key="name" name="z03" /> <property_simple key="isoperator" value="1" /> <property_cdata key="groupid"><![CDATA[00000000-0000-0000-0000-000000000000]]></property_cdata> <property_simple key="groupname" name="" /> <property_simple key="userstate" value="1" name="usReady" /> <property_simple key="iscc" value="0" /> <property_simple key="islunch" value="0" /> <property_simple key="isredirect" value="0" /> <property_cdata key="lineid"><![CDATA[33093617-e876-4709-a61d-9cb1602995cb]]></property_cdata> <property_simple key="linenum" value="15003" /> <property_simple key="linecode" value="usb3" /> <property_simple key="linetype" value="3" name="ltIntAnalog" /> <property_simple key="linestate" value="4" name="lsReady" /> </property_set> <property_set name="user" id="da803f01-ea77-40fa-bc9d-e2efb36fd5a8"> <property_cdata key="id"><![CDATA[da803f01-ea77-40fa-bc9d-e2efb36fd5a8]]></property_cdata> <property_cdata key="name"><![CDATA[Петр Александрович]]></property_cdata> <property_simple key="isoperator" value="1" /> <property_cdata key="groupid"><![CDATA[c4e3b424-3048-4cce-a2e4-033c532a7d99]]></property_cdata> <property_cdata key="groupname"><![CDATA[Программисты]]></property_cdata> <property_simple key="userstate" value="1" name="usReady" /> <property_simple key="iscc" value="1" /> <property_simple key="islunch" value="0" /> <property_simple key="isredirect" value="0" /> <property_cdata key="lineid"><![CDATA[e76c86ea-a28a-4519-b4ff-8879a92c62b7]]></property_cdata> <property_simple key="linenum" value="17002" /> <property_simple key="linecode" value="ip_linksys" /> <property_simple key="linetype" value="5" name="ltIntIP" /> <property_simple key="linestate" value="4" name="lsReady" /> </property_set> <property_set name="user" id="2a594b51-bb89-4da6-a69f-f48761baf0d9"> <property_cdata key="id"><![CDATA[2a594b51-bb89-4da6-a69f-f48761baf0d9]]></property_cdata> <property_cdata key="name"><![CDATA[Дмитрий Евгеньевич]]></property_cdata> <property_simple key="isoperator" value="1" /> <property_cdata key="groupid"><![CDATA[c4e3b424-3048-4cce-a2e4-033c532a7d99]]></property_cdata> <property_cdata key="groupname"><![CDATA[Программисты]]></property_cdata> <property_simple key="userstate" value="0" name="usDisconnected" /> <property_simple key="iscc" value="1" /> <property_simple key="islunch" value="0" /> <property_simple key="isredirect" value="0" /> <property_cdata key="lineid"><![CDATA[00000000-0000-0000-0000-000000000000]]></property_cdata> <property_simple key="linenum" value="" /> <property_simple key="linecode" value="" /> <property_simple key="linetype" value="99" name="ltNotAvailable" /> <property_simple key="linestate" value="1024" name="lsUndefined" /> </property_set> </property_collection> </property_set> </data> </oktellcommapper>
- string GetSpecifiedUsersStates ( string xml ). Возвращает информацию о полных состояниях указанных пользователей системы, что призвано сократить объем пересылаемой по сети информации, а также объем производимых на разборе возвращаемого значения работ. В теле возвращаемой XML-структуры содержатся такие значения как id, имя, признак оператора, принадлежность к отделу, состояние, присутствие в call-центре, перерыв, переадресация, информация о текущей привязанной линии: идентификатор, номер, код, тип, состояние. Запрашиваемая информация возвращается с сервера состояний и не использует обращения к БД.
Входной параметр метода имеет XML-формат и указывает перечень интересующих пользователей, которые могут быть заданы по логину (case-sensitive), по имени (case-sensitive) и строковым представлением GUID-идентификатора. Количество указываемых в одном запросе пользователей не ограничивается. Указанные дубли будут объединены - каждый пользователь в возвращаемом значении будет указан не более 1 раза.
Структура входного параметра на примере:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data name="usersstates" count="..."> <property_set name="user"> <property_simple key="login" value="Oleg" /> <property_cdata key="name"><![CDATA[Артемьев Олег Владимирович]]></property_cdata> <property_cdata key="id"><![CDATA[xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx]]></property_cdata> </property_set> ........................................... ........................................... ........................................... <property_set name="user"> <property_cdata key="id"><![CDATA[xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx]]></property_cdata> </property_set> <property_set name="user"> <property_simple key="login" value="Dima" /> </property_set> </data> </oktellcommapper>
Формат возвращаемого xml полностью соответствует формату возвращаемого значения методом GetAllUsersStates(), однако в списке содержится информация только по указанным (и обнаруженным в системе) пользователям.
Скриншоты экранов пользователей
- string Screenshot_Get ( string xml ). Возвращает срез экрана указанного пользователя в указанных размерах. В качестве параметра передается строка с XML структурой, содержащей идентификатор интересующего пользователя (iduser), а также ширину и высоту изображения в пикселях (width и height соответственно). Размер по умолчанию 800x600. В любом случае изображение не будет увеличено относительно реального. При указании меньшего размера изображение уменьшается с сохранением пропорций.
Структура запроса:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data name="screenshot" count="1"> <property_set name="info"> <property_simple key="iduser" value="bf67122a-9f12-53f1-bffe-3aaf97c2b36f" /> <property_simple key="width" value="640" /> <property_simple key="height" value="480" /> </property_set> </data> </oktellcommapper>
В случае успешного выполнения возвращается XML структура с указанием идентификатора пользователя (iduser), его имени (username) и бинарных данных изображения, упакованных в base64 (image).
Структура ответа:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data name="screenshot" count="1"> <property_set name="info"> <property_simple key="iduser" value="bf67122a-9f12-53f1-bffe-3aaf97c2b36f" /> <property_cdata key="username"><![CDATA[Магницкий Евгений Сидорович]]></property_cdata> <property_cdata key="image"><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAXcAAAEsCAYAAAA4ifPK...]]></property_cdata> </property_set> </data> </oktellcommapper>
Выполнение не производится если:
- - у зарегистрированного пользователя нет права просмотра экранов;
- - у субъекта имеется право «Антискриншот»;
- - субъект не авторизован в системе;
- - указан несуществующий идентификатор;
- - таймаут проведения операции;
- - рабочее место не поддерживает режим;
- - пользователь авторизован «по умолчанию» (без рабочего места);
- - при прочих ошибках.
При этом в поле resultdescription указывается причина отказа.
Структура ответа при неудачном исполнении:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data name="screenshot" count="1"> <property_set name="commonresult"> <property_simple key="resultcode" value="104" name="Error" /> <property_cdata key="resultdescription"><![CDATA[Указанный пользователь не найден]]></property_cdata> </property_set> </data> </oktellcommapper>
Методы для работы с конфигурационными настройками
- string ConfigGetAppSetting ( string key ). Возвращает строковое значение атрибута value по передаваемому в функцию ключу key из конфигурационного файла. Корректные непустые значения становятся доступны только после процедуры конфигурирования, запускаемой в начале тела метода ModuleStart.
- string ConfigGetWorkDir ( ). Возвращает строку - путь к рабочей папке, где будут размещаться каталоги для обновлений, логи, временные папки и прочее. По умолчанию это папка со сборками COM-клиента Oktell. В отдельных случаях могут быть указаны иные варианты настройками файла конфигурации WORK_ROOTDIR и WORK_ROOTDIR_TYPE. Следует иметь в виду, что корректные рабочие значения выставляются только после процедуры конфигурирования, производимой в начале тела метода ModuleStart. В противном случае возвращаются значения по умолчанию, которые совпадают с правильными рабочими только в случае отсутствия указанных выше настроек конфигурации, либо их идентичностью.
- string ConfigGetLiveUpdateDir ( ). Возвращает строку - путь к папке с обновлениями. По умолчанию это папка LiveUpdate в каталоге со сборками COM-клиента Oktell. В отдельных случаях могут быть указаны иные варианты настройками файла конфигурации WORK_ROOTDIR и WORK_ROOTDIR_TYPE. Следует иметь в виду, что корректные рабочие значения выставляются только после процедуры конфигурирования, производимой в начале тела метода ModuleStart. В противном случае возвращаются значения по умолчанию, которые совпадают с правильными рабочими только в случае отсутствия указанных выше настроек конфигурации, либо их идентичностью. Рекомендуется вызывать метод сразу после получения события о загрузке обновлений (после вызова ModuleStart).
Методы для получения версий и лицензий
- string Srv_GetVersionText ( ). Возвращает полное текстовое описание версии серверной библиотеки и базы данных (пример можно увидеть в лог-журнале Exception сервера при его запуске).
- string Srv_GetVersion ( ). Возвращает версию серверной библиотеки (дата билда в виде строкового представления числа yyMMdd, где yy - год билда, MM-месяц билда, dd-день билда). Например, 100420.
- string Srv_GetVersionInternal ( ). Возвращает внутреннюю версию серверной библиотеки в виде строкового представления числа. Например, 1004.
- string Srv_GetVersionBuild ( ). Возвращает строку - билд серверной библиотеки. Например, 2.5.3721.22042.
- string Key_GetId ( ). Возвращает регистрационный номер из лицензии сервера (7-значное число в строковом виде или пустую строку, если лицензия отсутствует).
Наверх | Исполнение запросов в БД<<< | Вспомогательные методы | >>>Осуществление и прием вызовов |