Documentação do Beam Bench

Usando a API HTTP

Controle o Beam Bench a partir de qualquer cliente HTTP. As mesmas operações da CLI, ideal para integrações.

A API HTTP / WebSocket do Beam Bench é a mesma interface com a qual a CLI se comunica. Se você tem um caso de uso que precisa do Beam Bench em um ambiente que não seja de CLI (aplicativo web, servidor de integração, aplicativo móvel), use a API HTTP diretamente.

O que você precisa

  • Beam Bench instalado.
  • A API Local ativada em Editar → Configurações → Geral. Ela vem desativada por padrão.
  • Um cliente HTTP (curl, a biblioteca HTTP da sua linguagem, Postman etc.).

Verifique se a API está ativada

Os padrões da versão atual são deliberadamente restritivos:

  • API Local: desativada.
  • Porta da API: 5900.
  • Permitir a conexão de dispositivos de rede: desativada. Enquanto permanecer desativada, o servidor aceitará conexões somente deste computador.

Abra o aplicativo desktop, acesse Editar → Configurações → Geral e ative a API Local. Mantenha Permitir a conexão de dispositivos de rede desativada para scripts executados no mesmo computador. As configurações têm efeito imediato.

Leia a página da API HTTP antes de vinculá-la à rede em uma rede Wi-Fi compartilhada. A API não tem autenticação e pode mover a máquina e disparar o laser.

URL base

http://localhost:5900/api/v1

(Ou o IP da LAN da sua máquina em vez de localhost, quando Permitir a conexão de dispositivos de rede estiver ativada.)

Etapas

1. Verifique se a API está ativa

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

Retorna o esquema de recursos. (Substitua 5900 pela porta configurada se você a tiver alterado.)

2. Inspecione o estado

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

3. Abra um projeto

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

4. Renderize o design (sem interface 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. Obtenha o estado da câmera

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

6. Renderize a sobreposição da câmera (requer o aplicativo)

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 disponíveis

Consulte a seção de referência da API (quando estiver preenchida) para ver a interface completa. Principais grupos:

  • /agent, recursos, estado, guia.
  • /camera, dispositivos, estado, captura, sobreposição (exibição, transformação, renderização), calibração, alinhamento.
  • /design, descrever, renderizar, transações.
  • /projects, abrir, salvar, fechar, camadas, objetos, desfazer/refazer, importar.
  • /export, svg, dxf, pdf, eps, ai.

Segurança

O servidor da API não tem autenticação. Ele pressupõe que a rede em que está é confiável.

  • A vinculação somente a localhost limita a exposição à máquina local.
  • A vinculação à rede é uma opção separada e expõe a API a qualquer pessoa na mesma LAN. Ative-a somente em uma rede confiável.

Verifique se funcionou

  • curl agent/capabilities retorna JSON.
  • Uma chamada de renderização produz o arquivo solicitado.

Relacionados

On this page