Documentación de Beam Bench

Usar la API HTTP

Controla Beam Bench desde cualquier cliente HTTP. Las mismas operaciones que la CLI, con facilidad de integración.

La API HTTP / WebSocket de Beam Bench es la misma superficie con la que se comunica la CLI. Si tienes un caso de uso que necesita Beam Bench en un entorno que no sea CLI, como una aplicación web, un servidor de integración o una aplicación móvil, usa directamente la API HTTP.

Lo que necesitas

  • Beam Bench instalado.
  • La API local habilitada en Edit → Settings → General. Viene desactivada de forma predeterminada.
  • Un cliente HTTP (curl, la biblioteca HTTP de tu lenguaje, Postman, etc.).

Verifica que la API esté habilitada

Los valores predeterminados de la compilación actual están bloqueados deliberadamente:

  • Local API: desactivada.
  • API Port: 5900.
  • Allow network devices to connect: desactivada. Mientras permanezca desactivada, el servidor acepta conexiones únicamente desde esta computadora.

Abre la aplicación de escritorio, ve a Edit → Settings → General y activa Local API. Mantén desactivada Allow network devices to connect para los scripts que se ejecuten en la misma computadora. Los ajustes se aplican de inmediato.

Lee la página de la API HTTP antes de vincularla a la red en una Wi-Fi compartida. La API no tiene autenticación y puede mover la máquina y disparar el láser.

URL base

http://localhost:5900/api/v1

(O la IP LAN de tu máquina en lugar de localhost, cuando Allow network devices to connect esté activada.)

Pasos

1. Verifica que la API esté activa

curl -s http://localhost:5900/api/v1/agent/capabilities | jq .

Devuelve el esquema de capacidades. Reemplaza 5900 por tu puerto configurado si lo cambiaste.

2. Inspecciona el estado

curl -s http://localhost:5900/api/v1/agent/state | jq .

3. Abre un proyecto

curl -s -X POST http://localhost:5900/api/v1/projects/open \
  -H 'Content-Type: application/json' \
  -d '{"path":"/abs/path/to/file.lzrproj"}'

4. Renderiza el diseño a través del servidor en ejecución

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. Obtén el estado de la cámara

curl -s http://localhost:5900/api/v1/camera/state | jq .

6. Renderiza la superposición de cámara a través del frontend de la aplicación

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}'

Grupos de endpoints disponibles

Consulta la sección Referencia de la API, cuando esté disponible, para ver toda la superficie. Grupos principales:

  • /agent, capacidades, estado y guía.
  • /camera, dispositivos, estado, captura, superposición, incluida visualización, transformación y renderizado, calibración y alineación.
  • /design, descripción, renderizado y transacciones.
  • /projects, abrir, guardar, cerrar, capas, objetos, deshacer y rehacer e importar.
  • /export, svg, dxf, pdf, eps, ai.

Seguridad

El servidor de la API no tiene autenticación. Supone que la red en la que está es de confianza.

  • La vinculación exclusiva con localhost limita la exposición a la máquina local.
  • La vinculación de red es una activación independiente y abre la API a cualquier persona en la misma LAN. Actívala únicamente en una red de confianza.

Verifica que funcionó

  • curl agent/capabilities devuelve JSON.
  • Una llamada de renderizado produce el archivo solicitado.

Relacionado

On this page