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, compatível com integrações.

A API HTTP / WebSocket do Beam Bench é a mesma superfície com a qual a CLI se comunica. Se você tem um caso de uso que exige o Beam Bench em um ambiente que não usa CLI, como aplicativo web, servidor de integração ou 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 compilação atual são deliberadamente restritos:

  • API local: desativada.
  • Porta da API: 5900.
  • Permitir que dispositivos de rede se conectem: desativado. Enquanto permanecer desativado, o servidor aceitará conexões somente deste computador.

Abra o aplicativo para desktop, acesse Editar → Configurações → Geral e ative API local. Mantenha Permitir que dispositivos de rede se conectem desativado para scripts executados no mesmo computador. As configurações entram em vigor imediatamente.

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 que dispositivos de rede se conectem estiver ativado.

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 pelo servidor em execução

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 pelo frontend do 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 Referência da API, quando preenchida, para conhecer toda a superfície. Principais grupos:

  • /agent, recursos, estado, guia.
  • /camera, dispositivos, estado, captura, sobreposição (exibição, transformação, renderização), calibração, alinhamento.
  • /design, descrição, renderização, 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á seja confiável.

  • A vinculação somente ao localhost limita a exposição ao computador local.
  • A vinculação à rede é uma habilitação separada e abre a API para 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.

Relacionado

On this page