Подключение к REST API Loginom

0 голосов
newbie в категории Интеграция
Здравствуйте!

Я хочу подключиться из внешнего ПО (например, из Excel через Microsoft Power Query) к опубликованному мной в Лоджином сервису (получить данные из Лоджинома). Как я могу это сделать?

Сервис я опубликовал, но он предоставляет только метод POST, и, если я правильно понял, нужен метод GET?

Ответ: 1 шт.

0 голосов
Евгений Алябьев

GET запрос используется для получения данных (то есть, у опубликованного в Loginom узла не может быть входных портов, кроме порта переменных).

Если у опубликованной модели присутствует входной табличный порт, то необходимо передать ей входные данные в запросе. В таком случае следует использовать POST запрос.

Полученный результат будет в формате JSON.


В случае если делать GET запрос, то в Excel в редакторе PowerQuery должна быть такая строка:

= Lines.FromBinary(Web.Contents("http://<ip:port>/lgi/Service.svc/Rest/<packet>/<GET model>"))

либо

= Lines.FromBinary(Web.Contents("http://<ip:port>/lgi/Service.svc/Rest/<packet>/<GET model>?<vars>"))

, где <ip:port> — адрес сервера с Loginom Integrator, <packet> — имя пакета, <model> — опубликованная GET либо POST модель, <vars> — переменные, если они используются опубликованной моделью.

Подробнее про используемые функции можно почитать на оф.сайте производителя:

Web.Contents: https://docs.microsoft.com/en-us/powerquery-m/web-contents

Lines.FromBinary: https://docs.microsoft.com/en-us/powerquery-m/lines-frombinary


По поводу передачи POST запроса попробуйте в PowerQuery создать расширенный запрос по следующей схеме

let

    url = "http://<ip:port>/lgi/Service.svc/Rest/<packet>/<POST model>",

    request = "{""DataSet"": {""Rows"": [

        {""a"":27, ""b"":13},

        {""a"":17, ""b"":13}

    ]}}",

    options = [Content=Text.ToBinary(request)],

    data = Lines.FromBinary(Web.Contents(url, options))

in

    data

В переменной request мы вводим такой же запрос как и в Loginom, с разницей в том, что двойные кавычки (") используются дважды.

В данном примере опубликованная модель принимает два числа (a, b), складывает их и возвращает результат (result).

...