-
Notifications
You must be signed in to change notification settings - Fork 34
Данное приложение обеспечивает связь клиентской части с базой знаний (в этот функционал входит: получение содержимого sc-ссылок, получение команд меню, инициирование команд и т. д.)
Данное api используется для взаимодествия клиентской части приложения с базой знаний. Сразу оговоримся, что в качестве id (sc-адреса) sc-элемента выступает строка, которая используется клиентской частью лишь для идентификации синонимичных sc-элементом и может иметь любой формат.
api/idtf/resolve/
Адрес | Метод | Тип запроса |
---|---|---|
api/idtf/resolve/ | api.IdtfResolve | POST |
Описание
Получение идентификаторов объектов. С использованием текущего режима диалога.
Параметры
- [j]_ - id (sc-адрес) sc-элемента идентификатор которого необходимо получить. Число j менятеся от 1 до N, где N - количество sc-элементов идентификаторы которых запрашиваются Пример параметров запроса:
1_=0_1886& 2_=0_2377& 3_=0_2381
Результат
Возвращает json в котором содержится лишь один объект, который представляет собой аналог карты ключ-значение. В качестве ключа (имен аттрибутов) используются id (sc-адреса) sc-элементов, для которых делался запрос, а в качестве значений - строки, которые содержат идентификаторы. Важно отметить, что если для указанного sc-элемента не существует идентификатора на указанном языке, то он отсутсвует в ответе (нет такого ключа). Пример json ответа:
{ "0_1886": "Раздел. SCs-код", "0_2377": "Просмотр структуры", "0_2381": "Поиск декомпозиции" }
api/init
Адрес | Метод | Тип запроса |
---|---|---|
api/init | api.Init | GET |
Описание
Получение стартовой информации о системе. В эту информацию входи список доступных пользовательских команд в главном меню, список возможных внешних языков (на которых может проимходить диалог), список возможных естественных языков
Параметры
Параметров нет
Результат
Возвращает json в котором содержатся следующие поля:
-
menu_commands - иерархия пользовательских команд. Каждая команда описывается одним объектов, в котором присутствуют следующие поля:
- childs - список дочерних команд. В данном поле содержится список объектов описывающих дочерние команды
- id - id (sc-адрес) узла обозначающего команду
-
cmd_type - строка, которая содержит тип команды. Данное поле может иметь 3 значения:
- cmd_atom - атомарная команда
- cmd_noatom - неаторманая команда
- unknown - команда неизвестного типа
- external_languages - Список id (sc-адресов) элементов, которые обозначают доступные внешние языки (SCn, SCg, ...)
- languages - Список id (sc-адресов) элементов, которые обозначают доступные естественные языки диалога (русский, английский и т. д.)
-
user - информация о пользователе. Содержит следующие поля:
- sc_addr - sc-адрес узла обозначающего пользователя
- is_authenticated - флаг указывающий на то, что пользователь авторизировался
- current_lang - используемый пользователем язык (естественный язык)
- default_ext_lang - исопльзуемый по умолчанию внешний язык (SCg-код, SCn-код и т. д.)
Пример json ответа:
{ menu_commands: { childs: [ { id: "0_732", cmd_type: "cmd_atom" }, { id: "0_702", cmd_type: "cmd_atom" }, { id: "0_731", cmd_type: "cmd_atom" }, { childs: [ { id: "0_856", cmd_type: "cmd_atom" }, { id: "0_875", cmd_type: "cmd_atom" } ], id: "0_709", cmd_type: "cmd_noatom" } ], id: "0_727", cmd_type: "cmd_noatom" }, languages: [ "0_132", "0_143", "0_124" ], external_languages: [ "0_156", "0_167", "0_174" ], user { sc_addr: "1_645", is_authenticated: false, current_lang: "0_143", default_ext_lang: "0_156" } }
api/context/
Адрес | Метод | Тип запроса |
---|---|---|
api/context/ | api.ContextMenu | GET |
Описание
Получение контекстного меню, для указанных аргументов.
Параметры
В качестве параметров команды выступает список аргументов.
Пример запроса:
/api/context/?arg_1=1231235&arg_2=38267364
Результат
Возвращает json в котором содержится список атомарных команд (см. /api/init/)
Пример json ответа:
[ "0_732", "0_702", "0_731" ]
api/addr/resolve
Адрес | Метод | Тип запроса |
---|---|---|
api/addr/resolve | api.AddrResolve | GET |
Описание
Получение sc-адресов элементов по их системным идентификаторам
Параметры
В качестве параметров выступает список системных идентификаторов, для которых необходимо определить sc-адреса.
- [j]_ - системный идентификатор sc-элемента sc-адрес которого необходимо получить. Число j менятеся от 1 до N, где N - количество sc-элементов, адреса которых запрашиваются
Пример параметров запроса:
0_=project_ostis& 1_=hypermedia_format& 2_=ui_user
Результат
Возвращает json в котором содержится один объект. Этот объект в качестве имен атрибутов содержит системные идентификаторы, которые запрашивались, а в качестве значение атрибутов указаны соотвествующие sc-адреса. Если же запрашиваемого идентификатора нет в атрибутах, то его адрес не удалось установить. Пример возвращаемого json:
{ "project_ostis": "0_1629", "hypermedia_format": "0_144", "ui_user": "0_721" }
api/link/format
Адрес | Метод | Тип запроса |
---|---|---|
api/link/format | api.LinkFormat | GET |
Описание
Получение формата для указанных sc-ссылок
Параметры
В качестве параметров выступает список sc-адресов ссылок, для которых необходимо определить формат.
- [j]_ - id (sc-адрес) sc-ссылки формат которой необходимо получить. Число j менятеся от 1 до N, где N - количество sc-ссылок
Пример параметров запроса:
0_=0_1645
Результат
Возвращвет json, в котором содержится один объект. Атрибутами этого объекта выступают адреса sc-ссылок, которые были в запросе, а в качестве их значений выступают sc-адреса узлов обозначающих формат sc-ссылки. Если в ответе нет атрибута с адресом указанным в параметрах, значит формат для указанной sc-ссылки установить не удалось.
Пример json ответа:
{ "0_1645": "0_145" }
api/link/content
Адрес | Метод | Тип запроса |
---|---|---|
api/link/content | api.LinkContent | GET |
Описание
Получение содержимого указанной sc-ссылки
Параметры
В качестве параметра выступает sc-адрес ссылки.
- addr - sc-адрес sc-ссылки содержимое которой необходимо получить
Пример параметров запроса:
addr=0_8736
Результат
Возвращает содержимое указанной sc-ссылки, если оно найдено. Иначе ошибка 404. Возвращаемое значение имеет корректный mime type
api/cmd/do
Адрес | Метод | Тип запроса |
---|---|---|
api/cmd/do | api.CmdDo | POST |
Описание
Инициирование команды пользовательского интерфейса
Параметры
- cmd - sc-адрес команды пользовательского интерфейса, которую необходимо инициировать
- [j]_ - список sc-адресов, которые являются аргументами команды, где j - номер аргумента, от 0 до N (N - количество аргументов)
Пример
cmd=0_426& 0_=0_573& 1_=0_3342
Результат
Возвращает json в котором содержится один объект. Со следующими полями:
- question - sc-адрес инициированного вопроса, если он был инициирован командой. Иначе это поле отсутствует или пустое.
- command - sc-адрес инициированной команды, если она была инициирована. Иначе это поле отсутствует или пустое.
api/cmd/text
Адрес | Метод | Тип запроса |
---|---|---|
api/cmd/text | nl.NaturalLanguageSearch | POST |
Описание
Инициирование команды с помощью текстового запроса
Параметры
- query - текстовый запрос
Пример
query=Что такое треугольник?
Результат
Возвращает json в котором содержится один объект. Со следующими полями:
- question - sc-адрес инициированного вопроса, если он был инициирован командой. Иначе это поле пустое.
Адрес | Метод | Тип запроса |
---|---|---|
api/question/answer/translate | api.QuestionAnswerTranslate | POST |
Описание
Получить результат трансляции ответа на вопрос, в указанном формате представления данных
Параметры
- question - sc-адрес вопроса, ответ на который необходимо получить
- format - sc-адрес узла обозначающий формат в котором необходимо получить ответ на вопрос
Пример
question=0_426& format=0_786
Результат
Возвращает json в котором содержится sc-адрес ссылки в которой содержится результат трансляции
{ link: 0_783 }
api/languages
Адрес | Метод | Тип запроса |
---|---|---|
api/languages | api.Languages | GET |
Описание
Получить список всех доступных естествнных языков, которые могут быть использованы для отображени идентификаторов
Параметры
нет
Результат
Возвращает json в котором содержится список sc-адресов запрашиваемых языков
[ 0_432, 1_637 ]
Адрес | Метод | Тип запроса |
---|---|---|
api/languages/set | api.LanguagesSet | POST |
Описание
Установка используемого естественного языка
Параметры
- lang_addr - sc-адрес устанавливаемого языка<
Результат
api/idtf/find
Адрес | Метод | Тип запроса |
---|---|---|
api/idtf/find | api.IdtfFind | GET |
Описание
Поиск идентификаторов, которые содержат подстроку
Параметры
- substr - искомая подстрока
Результат
Возвращает json в котором содержится объект со списком идентификаторов и их адресов. Списки являются значениями полей объекта. Каждое поле объекта - адрес отношения идентификации (основной идентификатор*, системный идентификатор* и т. д.)
[ "0_5": [ [0_564, "sc-идентификатор"], [0_654, "основной идентификатор"] ], "0_1": [ [0_433, "системный идентификатор"], [0_332, "идентификатор"] ] ]
api/info/tooltip
Адрес | Метод | Тип запроса |
---|---|---|
api/info/tooltip | api.InfoTooltip | POST |
Описание
Запрос всплывающих подсказок для указанных sc-элементов (с учетом текущего языкового режима)
Параметры
- [j]_ - id (sc-адрес) sc-элемента идентификатор которого необходимо получить. Число j менятеся от 1 до N, где N - количество sc-элементов идентификаторы которых запрашиваются
Пример параметров запроса:
1_=0_5& 2_=0_1
Результат
Возвращает json, в котором содержится объект с подсказками для указанных sc-элементов.
[ "0_5": "Подсказка 1", "0_1": "Подсказка 2" ]
api/user
Адрес | Метод | Тип запроса |
---|---|---|
api/user | api.User | GET |
Описание
Запрос информации о пользователе
Параметры
нет
Результат Возвращает Json, в котором содержатся следующие поля:
- is_authenticated - аутефицировал ли пользователь
- current_lang - текущий язык, на котором происходит диалог
- sc_addr - sc адрес пользователя
- default_ext_lang - расширение по умолчанию Пример Json ответа
{ "is_authenticated": false, "current_lang": "0_201", "sc_addr": "0_63362", "default_ext_lang": "0_43383"}
/stat/data
Адрес | Метод | Тип запроса |
---|---|---|
/stat/data | api.GetStatistics | GET |
Описание
Запрос информации о статистике сервера
Параметры
- from - начало временного интревала, для которого запрашивается статистика в миллисекундах
- to - конец временного интревала, для которого запрашивается статистика в миллисекундах
Результат Возвращает Json, в котором содержатся 2 массива со следующим содержанием:
[ time, nodeCount, arcCount, linksCount, liveNodeCount, liveArcCount, liveLinkCount, emptyCount, connectionsCount, commandsCount, commandErrorsCount ]
где,
time - время, ближайшее к запрошеному "from",
nodeCount - количество всех узлов,
arcCount - количество всех дуг,
linksCount - количество всех ссылок,
liveNodeCount - количество существующих узлов,
liveArcCount - количество существующих дуг,
liveLinksCount - количество существующих ссылок,
emptyCount - число пустых элементов,
connectionsCount - число соеденений,
commandsCount - число комманд,
commandErrorsCount - число командных ошибок
Пример Json ответа
[ [ 1417979842534, 5784, 42944, 4753, 77589, 0, 0, 0, 2759237125827198976, 24872155611466, 185211874705408 ], [ 1417981642636, 5791, 43123, 4757, 77399, 23, 34462, 1, 13229598783307776, 13229804948881524, 31525695614287987 ] ]