Beam Bench-documentatie

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/capabilities retourneert JSON.
  • Een renderaanroep maakt het gevraagde bestand.

Gerelateerd

On this page