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/v1Ou 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/capabilitiesretorna JSON.- Uma chamada de renderização produz o arquivo solicitado.