Добрый день.
Мне нужно получить список помещений в объекте учета. По какому URI должно происходить обращение?
Использую протокол JSON-RPC.
P.s. Где можно взять человеческую документацию по Web API?
Добрый день.
Мне нужно получить список помещений в объекте учета. По какому URI должно происходить обращение?
Использую протокол JSON-RPC.
P.s. Где можно взять человеческую документацию по Web API?
Веб служба описана в руководстве пользователя: Программный интерфейс API. Плюс к этому веб-служба самодокументируема, достаточно перейти по адресу http://ваш-адрес/api.asmx в браузере.
Для получения списка помещений используйте операцию GetNodeByIdExtended с флагом NodeInfoFlags.Rooms
Не совсем понятно, каким образом передать флаг NodeInfoFlags.Rooms по протоколу JSON-RPC. В примере TestLersApi.js для метода GetNodeListExtended в качестве флагов передается число 15 с комментарием //запрашиваем всю информацию. Если этого достаточно, чтобы в ответе содержался список помещений, то по какой причине может возвращаться пустой список (Rooms = null), в то время, как они заданы для данного объекта?
Спасибо.
P.s. версия Лэрс: 3.07 R13.11 (сборка 31318) (64-разрядная)
лицензия: персональная
Вам необходимо использовать флаг NodeInfoFlags.Rooms или его значение - 1024. Мы обновили описание флагов в документации.
Пример:
function SendGetNodeExtendedRequest() {
/// <summary>
/// Отправляет запрос на получение объекта учета
/// </summary>
$.ajax({
type: "POST",
url: "http://localhost:54025/Api.asmx/GetNodeByNumberExtended",
contentType: "application/json; charset=utf-8",
dataType: "json",
xhrFields: { withCredentials: true },
crossDomain: true,
data: "{ 'nodeNumber':" + 727 + ", 'flags':'Rooms' }",
success: ReceivedNodeExtendedResponse,
error: function (jqXHR, textStatus, errorThrown) {
alert('Не удалось получить объект учета.');
}
});
}
Заметьте, что метод GetNodeListExtended не поддерживает флаг NodeInfoFlags.Rooms.
Для получения списка помещений используйте метод GetNodeByNumberExtended или GetNodeByIdExtended, пример есть выше.