De HTTP-API gebruiken
Bedien Beam Bench vanuit elke HTTP-client. Dezelfde bewerkingen als de CLI, geschikt voor integraties.
De HTTP- en WebSocket-API van Beam Bench is dezelfde interface waarmee de CLI communiceert. Als je een toepassing hebt waarin Beam Bench buiten een CLI-omgeving nodig is, zoals een webapp, integratieserver of mobiele app, gebruik je de HTTP-API rechtstreeks.
Wat je nodig hebt
- Beam Bench geïnstalleerd.
- De lokale API ingeschakeld in Bewerken → Instellingen → Algemeen. Deze staat standaard uit.
- Een HTTP-client (
curl, de HTTP-bibliotheek van je programmeertaal, Postman enzovoort).
Controleer of de API is ingeschakeld
De standaardinstellingen in de huidige build zijn bewust vergrendeld:
- Lokale API: uit.
- API-poort: 5900.
- Netwerkapparaten toestaan verbinding te maken: uit. Zolang dit uitgeschakeld blijft, accepteert de server alleen verbindingen vanaf deze computer.
Open de desktopapp, ga naar Bewerken → Instellingen → Algemeen en schakel Lokale API in. Laat Netwerkapparaten toestaan verbinding te maken uitgeschakeld voor scripts die op dezelfde computer worden uitgevoerd. De instellingen worden onmiddellijk van kracht.
Lees de HTTP-API-pagina voordat je de API aan het netwerk bindt op een gedeelde wifi. De API heeft geen authenticatie en kan de machine bewegen en de laser activeren.
Basis-URL
http://localhost:5900/api/v1(Of het LAN-IP-adres van je machine in plaats van localhost, wanneer Netwerkapparaten toestaan verbinding te maken is ingeschakeld.)
Stappen
1. Controleer of de API actief is
curl -s http://localhost:5900/api/v1/agent/capabilities | jq .Dit retourneert het schema met mogelijkheden. Vervang 5900 door je geconfigureerde poort als je die hebt gewijzigd.
2. Controleer de status
curl -s http://localhost:5900/api/v1/agent/state | jq .3. Open een project
curl -s -X POST http://localhost:5900/api/v1/projects/open \
-H 'Content-Type: application/json' \
-d '{"path":"/abs/path/to/file.lzrproj"}'4. Render het ontwerp via de actieve server
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. Haal de camerastatus op
curl -s http://localhost:5900/api/v1/camera/state | jq .6. Render de cameraoverlay via de frontend van de app
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}'Beschikbare groepen met endpoints
Zie de sectie API-referentie, wanneer die is ingevuld, voor de volledige interface. Belangrijke groepen:
/agent, mogelijkheden, status, handleiding./camera, apparaten, status, vastleggen, overlay, weergave, transformatie, renderen, kalibratie, uitlijning./design, beschrijven, renderen, transacties./projects, openen, opslaan, sluiten, lagen, objecten, ongedaan maken/opnieuw uitvoeren, importeren./export, svg, dxf, pdf, eps, ai.
Beveiliging
De API-server heeft geen authenticatie. De server gaat ervan uit dat het netwerk waarop hij actief is vertrouwd wordt.
- Een binding die alleen localhost gebruikt beperkt de blootstelling tot de lokale machine.
- Een netwerkbinding is een afzonderlijke opt-in en stelt de API open voor iedereen op hetzelfde LAN. Schakel dit alleen in op een vertrouwd netwerk.
Controleer of het werkt
curl agent/capabilitiesretourneert JSON.- Een renderaanroep maakt het gevraagde bestand.