Использование HTTP API
Управляйте Beam Bench из любого HTTP-клиента. Те же операции, что и в CLI, удобно для интеграций.
HTTP и WebSocket API Beam Bench предоставляет тот же интерфейс, с которым работает CLI. Если вам требуется использовать Beam Bench в среде без CLI, например в веб-приложении, на сервере интеграции или в мобильном приложении, обращайтесь напрямую к HTTP API.
Что потребуется
- Установленный Beam Bench.
- Включенный локальный API в разделе Правка → Настройки → Общие. По умолчанию он отключен.
- HTTP-клиент (
curl, HTTP-библиотека вашего языка, Postman и другие).
Проверьте, включен ли API
Параметры по умолчанию в текущей сборке намеренно ограничены:
- Локальный API: выключен.
- Порт API: 5900.
- Разрешить подключение сетевых устройств: выключено. Пока параметр выключен, сервер принимает подключения только с этого компьютера.
Откройте настольное приложение, перейдите в раздел Правка → Настройки → Общие и включите Локальный API. Для скриптов, работающих на том же компьютере, оставьте параметр Разрешить подключение сетевых устройств выключенным. Настройки применяются немедленно.
Прочитайте страницу HTTP API, прежде чем открывать доступ к сети в общей сети Wi-Fi. API не использует аутентификацию и может перемещать станок и включать лазер.
Базовый URL
http://localhost:5900/api/v1(Или LAN IP-адрес вашего станка вместо localhost, если включен параметр Разрешить подключение сетевых устройств.)
Действия
1. Проверьте доступность API
curl -s http://localhost:5900/api/v1/agent/capabilities | jq .Возвращается схема возможностей. Замените 5900 на настроенный порт, если вы изменили его.
2. Проверьте состояние
curl -s http://localhost:5900/api/v1/agent/state | jq .3. Откройте проект
curl -s -X POST http://localhost:5900/api/v1/projects/open \
-H 'Content-Type: application/json' \
-d '{"path":"/abs/path/to/file.lzrproj"}'4. Выполните рендеринг дизайна через работающий сервер
curl -s -X POST http://localhost:5900/api/v1/design/render \
-H 'Content-Type: application/json' \
-d '{"format":"png","pixels_per_mm":4,"output_path":"/tmp/out.png"}'5. Получите состояние камеры
curl -s http://localhost:5900/api/v1/camera/state | jq .6. Выполните рендеринг наложения камеры через интерфейс приложения
curl -s -X POST http://localhost:5900/api/v1/camera/overlay/render \
-H 'Content-Type: application/json' \
-d '{"output_path":"/tmp/overlay.png","view":"fit","keep":true}'Доступные группы конечных точек
Полный интерфейс приведен в разделе Справочник API, когда он будет заполнен. Основные группы:
/agent, возможности, состояние, руководство./camera, устройства, состояние, захват, наложение (отображение, трансформация, рендеринг), калибровка, выравнивание./design, описание, рендеринг, транзакции./projects, открытие, сохранение, закрытие, слои, объекты, отмена и повтор, импорт./export, svg, dxf, pdf, eps, ai.
Безопасность
Сервер API не использует аутентификацию. Предполагается, что сеть, в которой он работает, является доверенной.
- Привязка только к localhost ограничивает доступ локальным компьютером.
- Сетевая привязка является отдельным явно включаемым параметром и открывает API для всех устройств в той же локальной сети. Включайте ее только в доверенной сети.
Проверьте результат
curl agent/capabilitiesвозвращает JSON.- Вызов рендеринга создает запрошенный файл.