Список форумов BOSSForum.RU - Форум. БОСС-Кадровик
Независимый форум, посвященный системе БОСС-Кадровик
и всему, что с ней связано
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Интеграция с web-сервисами (REST API)

 
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык
Предыдущая тема :: Следующая тема  
Автор Сообщение
giddy



Зарегистрирован: 28.01.2022
Сообщения: 7
Откуда: Санкт-Петербург

СообщениеДобавлено: Вт Янв 09, 2024 11:20    Заголовок сообщения: Интеграция с web-сервисами (REST API) Ответить с цитатой

Поздравляю всех присутствующих с наступившим на нас новым рабочим годом Smile

Хочу поделиться опытом online интеграции БОСС-Кадровика с web-сервисами по RESTful API непосредственно из "родной" среды на платформе RP Server - без внешних библиотек, .NET сборок и т.п. Вроде на форуме подобной темы еще не было - возможно, кому-нибудь пригодится. А опыт показал, что объединенные X-языком VBScript и T-SQL - вполне самодостаточный инструмент для решения данного класса задач.

Не будем углубляться в теорию, по REST API информации в интернете более чем достаточно. На практике, наш основной инструмент для взаимодействия с web-сервисами - объект Msxml2.ServerXMLHTTP. Этот объект является компонентом встроенной в Windows библиотеки MSXML, т.о. он уже есть в системе и готов к работе. С его помощью можно получать и передавать данные по http(s) методами GET и POST.

Наиболее популярный формат данных, используемый web-сервисами для обмена информацией - JSON. Нам и тут повезло: в MS SQL Server 2016 и выше есть набор функций для работы с этим форматом, благодаря чему мы можем сравнительно легко как прочитать полученные от web-сервера данные, так и экспортировать данные из нашей базы в формат JSON для отправки их на web-сервер.
Простой пример получения от web-сервиса данных в JSON с последующей их обработкой:
Код:
vb{
 set xhr = CreateObject("Msxml2.ServerXMLHTTP")
 xhr.Open "GET", "http://jsonplaceholder.typicode.com/posts", False  ' формируем синхронный GET запрос к тестовому серверу
 xhr.Send  ' отправляем запрос
 ResponseJSON = xhr.responseText    ' сохраняем ответ сервера в переменную
 };
alias _json == vb.ResponseJSON;
browser{SELECT * FROM OPENJSON(_json[''])},,OPENJSON без WITH;
browser{SELECT * FROM OPENJSON(_json['']) WITH (userId int, id int, title varchar(255), body varchar(255))},,OPENJSON c WITH;

Если у вас на рабочем месте есть интернет - запустите код в окне отладки БОССа. Сработал? Поздравляю - вы уже владеете методом! Smile

С темой я впервые столкнулся чуть более 2х лет назад, когда встала задача научить БОСС-Кадровик работать с "умным" сканером документов Promobot, ПО которого представляет собой локальный WEB-сервер с REST API. Что из этого получилось можно посмотреть в описании/инструкции к функциональному блоку https://yadi.sk/i/PkPA25IRumf3-A

А в прошлом году посетила идея прикрутить к БОСС-Кадровику бота Telegram, стал его потихоньку "пилить" и допилил до состояния, в котором уже не стыдно показать. Приглашаю познакомиться с BOSS Telegram bot (демо-версия): https://t.me/BOSS_demo_bot
Про Роскомнадзор и персональные данные всё знаю, написал об этом в разделе "О проекте - Интернет и безопасность". Бота делал больше из спортивного интереса, но все же надеюсь, что ему найдется практическое применение. В любом случае, пока возился - узнал для себя много нового, а знания и опыт, как известно, лишними не бывают Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Spartak



Зарегистрирован: 18.03.2010
Сообщения: 180

СообщениеДобавлено: Пн Янв 22, 2024 22:29    Заголовок сообщения: Ответить с цитатой

Классная идея! Респект! Good
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов BOSSForum.RU - Форум. БОСС-Кадровик -> X-язык Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Pоwerеd by рhpВB © 2001, 2005 рhpВB Grouр
Русская поддержка phрВB
Rambler's Top100 Рейтинг@Mail.ru Список форумов BOSSForum.RU