Documentación de Beam Bench

Uso de la API HTTP

Controla Beam Bench desde cualquier cliente HTTP. Las mismas operaciones que la CLI, ideal para integraciones.

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

Lo que necesitas

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

Verificar que la API esté habilitada

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

  • API local: desactivada.
  • Puerto de la API: 5900.
  • Permitir que los dispositivos de red se conecten: desactivada. Mientras permanezca desactivada, el servidor solo acepta conexiones desde esta computadora.

Abre la aplicación de escritorio, ve a Editar → Configuración → General y activa API local. Deja desactivada Permitir que los dispositivos de red se conecten para los scripts que se ejecuten en la misma computadora. La configuración se aplica de inmediato.

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

URL base

http://localhost:5900/api/v1

(O la IP LAN de tu máquina en lugar de localhost, cuando Permitir que los dispositivos de red se conecten esté activada.)

Pasos

1. Verificar que la API esté activa

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

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

2. Inspeccionar el estado

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

3. Abrir 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. Renderizar el diseño (sin interfaz gráfica)

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

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

6. Renderizar la superposición de la cámara (requiere 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 de referencia de la API (cuando esté disponible) para ver la interfaz completa. Grupos principales:

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

Seguridad

El servidor de la API no tiene autenticación. Da por hecho que la red en la que se encuentra es confiable.

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

Verificar que funcionó

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

Relacionado

On this page