HTTP-API verwenden
Steuern Sie Beam Bench über jeden HTTP-Client. Dieselben Vorgänge wie bei der CLI, integrationsfreundlich.
Die HTTP- oder WebSocket-API von Beam Bench ist dieselbe Schnittstelle, mit der die CLI kommuniziert. Wenn Sie Beam Bench in einer Umgebung benötigen, die keine CLI verwendet, zum Beispiel in einer Web-App, einem Integrationsserver oder einer mobilen App, verwenden Sie die HTTP-API direkt.
Was Sie benötigen
- Beam Bench installiert.
- Die lokale API ist unter Edit → Settings → General aktiviert. Sie ist standardmäßig deaktiviert.
- Einen HTTP-Client (
curl, die HTTP-Bibliothek Ihrer Sprache, Postman usw.).
Prüfen, ob die API aktiviert ist
Die Standardwerte des aktuellen Builds sind absichtlich eingeschränkt:
- Local API: aus.
- API Port: 5900.
- Allow network devices to connect: aus. Solange diese Option deaktiviert bleibt, akzeptiert der Server nur Verbindungen von diesem Computer.
Öffnen Sie die Desktop-App, wechseln Sie zu Edit → Settings → General und aktivieren Sie Local API. Lassen Sie Allow network devices to connect für Skripte auf demselben Computer ausgeschaltet. Die Einstellungen werden sofort wirksam.
Lesen Sie die HTTP-API-Seite, bevor Sie die API in einem gemeinsam genutzten WLAN an das Netzwerk binden. Die API verfügt über keine Authentifizierung und kann die Maschine bewegen und den Laser auslösen.
Basis-URL
http://localhost:5900/api/v1(Oder die LAN-IP Ihrer Maschine statt localhost, wenn Allow network devices to connect aktiviert ist.)
Schritte
1. Prüfen, ob die API erreichbar ist
curl -s http://localhost:5900/api/v1/agent/capabilities | jq .Liefert das Fähigkeitsschema zurück. (Ersetzen Sie 5900 durch Ihren konfigurierten Port, wenn Sie ihn geändert haben.)
2. Status untersuchen
curl -s http://localhost:5900/api/v1/agent/state | jq .3. Ein Projekt öffnen
curl -s -X POST http://localhost:5900/api/v1/projects/open \
-H 'Content-Type: application/json' \
-d '{"path":"/abs/path/to/file.lzrproj"}'4. Das Design über den laufenden Server rendern
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. Kamerastatus abrufen
curl -s http://localhost:5900/api/v1/camera/state | jq .6. Kameraüberlagerung über das App-Frontend rendern
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}'Verfügbare Endpunktgruppen
Die vollständige Schnittstelle finden Sie im Abschnitt API-Referenz, sobald dieser ausgefüllt ist. Wichtige Gruppen:
/agent, capabilities, state, guide./camera, devices, state, capture, overlay (display, transform, render), calibration, alignment./design, describe, render, transactions./projects, open, save, close, layers, objects, undo/redo, import./export, svg, dxf, pdf, eps, ai.
Sicherheit
Der API-Server verfügt über keine Authentifizierung. Er setzt voraus, dass das Netzwerk, in dem er sich befindet, vertrauenswürdig ist.
- Die Bindung nur an Localhost begrenzt die Aussetzung auf den lokalen Computer.
- Die Netzwerkbindung ist eine separate Opt-in-Option und öffnet die API für alle Geräte im selben LAN. Aktivieren Sie sie nur in einem vertrauenswürdigen Netzwerk.
Prüfen, ob es funktioniert hat
curl agent/capabilitiesgibt JSON zurück.- Ein Renderaufruf erzeugt die angeforderte Datei.