Добро пожаловать!
Melezh - это серверная версия Открытого пакета интеграций, предоставляющая единый настраиваемый HTTP API для доступа к его библиотекам и произвольным .os
скриптам (расширениям), с возможностью установки значений по умолчанию, веб-консолью и встроенным логированием входящих запросов
Принцип работы
Данный сервер устанавливается поверх oint
- консольного приложения Открытого пакета интеграций, и позволяет удаленно вызывать его методы по средством HTTP-запросов из любого места так, как это происходило бы в консоли на локальной машине. Melezh использует встроенный в OneScript сервер Kestrel для приема HTTP запросов, а затем интерпретирует их в команды oint
(или модулей-расширений) для дальнейшего выполнения
Решение имеет гибкую систему настроек, позволяющую определить ограничения списка доступных команд и методов, а также установить значения параметров для выполнения команд по умолчанию. Это позволяет как просто уменьшить количество передаваемых данных, так и скрыть чувствительные данные от клиентской стороны в случае необходимости
Пример начальной настройки
В этом примере создается новый файл проекта с настройкой обработчика GET-запросов для функции ОтправитьТекстовоеСообщение
из библиотек и работы с Telegram. Также в нем устанавливается значение по умолчанию для параметра token
без возможности перезаписи ("строгий")
melezh СоздатьПроект --path ./test_proj.melezh
melezh ДобавитьОбработчикЗапросов --proj ./test_proj.melezh --lib telegram --func ОтправитьТекстовоеСообщение --method GET
melezh УстановитьАргументОбработчика --proj ./test_proj.melezh --handler 42281f11b --arg token --value "***" --strict true
melezh ЗапуститьПроект --proj ./test_proj.melezh --port 7788
Обработчик будет доступен на localhost:7788/42281f11b
, где 42281f11b
- идентификатор, получаемый при вызове ДобавитьОбработчикЗапросов
, являясь одновременно и ключом обработчика для настройки, и URL эндпоинтом для обращений
Пример запроса для отправки текстового сообщения:
http://localhost:7788/42281f11b?chat=123123123&text="Hello world!"
Как вы могли заметить, мы не передаем токен, так как он установлен по умолчанию
Веб-интерфейс
Кроме CLI интерфейса, для более простой интерактивной настройки и управления, можно использовать встроенную в Melezh веб-консоль:
На записи: вход в консоль, добавление нового обработчика для создания новости в Bitrix24 с указанием двух параметров по умолчанию, отключение двух обработчиков, просмотр подробностей одного из последних событий, просмотр всех логов по одному из обработчиков за сегодня
Веб-консоль позволяет:
- Следить за последними событиями сервера
- Добавлять, изменять и удалять обработчики, менять состав параметров по умолчанию
- Включать и отключать обработчики на время
- Просматривать подробные логи по каждому обработанному запросу
- Изменять настройки сервера
Если вы только начинаете работу с Melezh, то рекомендуется начать именно с этого режима. Получить доступ к веб-консоли можно по адресу localhost:<ваш порт>/ui
после создания и запуска проекта