Beam Bench-documentatie

De HTTP-API gebruiken

Bestuur Beam Bench vanuit elke HTTP-client. Dezelfde bewerkingen als de CLI, geschikt voor integraties.

De HTTP-/WebSocket-API van Beam Bench is dezelfde interface waarmee de CLI communiceert. Als je Beam Bench wilt gebruiken in een omgeving zonder CLI (webapp, integratieserver, mobiele app), gebruik je rechtstreeks de HTTP-API.

Wat je nodig hebt

  • Beam Bench geïnstalleerd.
  • De lokale API ingeschakeld via 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 beperkt:

  • Local API: uit.
  • API-poort: 5900.
  • Netwerkapparaten toestaan verbinding te maken: uit. Zolang deze optie uitstaat, accepteert de server alleen verbindingen vanaf deze computer.

Open de desktopapp, ga naar Bewerken → Instellingen → Algemeen en schakel Local API in. Laat Netwerkapparaten toestaan verbinding te maken uit voor scripts die op dezelfde computer worden uitgevoerd. De instellingen worden onmiddellijk van kracht.

Lees de HTTP-API-pagina voordat je de API op een gedeeld wifi-netwerk beschikbaar maakt. 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 .

Geeft het mogelijkhedenschema terug. (Vervang 5900 door je geconfigureerde poort als je die hebt gewijzigd.)

2. Bekijk 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 (headless)

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 een camera-overlay (app vereist)

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 endpointgroepen

Zie het gedeelte API-naslag (wanneer dit is ingevuld) voor de volledige interface. Belangrijke groepen:

  • /agent, mogelijkheden, status, handleiding.
  • /camera, apparaten, status, opname, overlay (weergave, transformatie, renderen), kalibratie, uitlijning.
  • /design, beschrijving, 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 deze actief is, vertrouwd is.

  • Een binding die alleen localhost gebruikt, beperkt de blootstelling tot de lokale machine.
  • Een netwerkbinding is een afzonderlijke optie en maakt de API beschikbaar voor iedereen op hetzelfde LAN. Schakel deze alleen in op een vertrouwd netwerk.

Controleer of het is gelukt

  • curl agent/capabilities geeft JSON terug.
  • Een render-aanroep maakt het gevraagde bestand.

Gerelateerd

On this page