HTTP APIを使用する
任意のHTTPクライアントからBeam Benchを操作します。CLIと同じ操作を、統合しやすい形で利用できます。
Beam BenchのHTTP / WebSocket APIは、CLIが通信するものと同じインターフェースです。Webアプリ、統合サーバー、モバイルアプリなど、CLI以外の環境でBeam Benchを必要とする用途では、HTTP APIを直接使用します。
必要なもの
- Beam Benchがインストールされていること。
- 編集 → 設定 → 一般でローカルAPIが有効になっていること。デフォルトではオフです。
- HTTPクライアント(
curl、使用言語のHTTPライブラリ、Postmanなど)。
APIが有効になっていることを確認する
現在のビルドのデフォルトは、意図的に制限されています。
- ローカルAPI:オフ。
- APIポート:5900。
- ネットワークデバイスの接続を許可:オフ。オフの間、サーバーはこのコンピューターからの接続だけを受け付けます。
デスクトップアプリを開き、編集 → 設定 → 一般に移動して、ローカルAPIをオンにします。同じコンピューターで実行するスクリプトでは、ネットワークデバイスの接続を許可をオフのままにしてください。設定はすぐに反映されます。
共有Wi-Fi上でネットワークにバインドする前に、HTTP APIページを読んでください。APIには認証がなく、マシンを移動したりレーザーを発射したりできます。
ベースURL
http://localhost:5900/api/v1(ネットワークデバイスの接続を許可がオンの場合は、localhostの代わりにマシンのLAN IPを使用します。)
手順
1. APIが起動していることを確認する
curl -s http://localhost:5900/api/v1/agent/capabilities | jq .機能スキーマを返します。5900を変更した場合は、構成済みのポートに置き換えてください。
2. 状態を調べる
curl -s http://localhost:5900/api/v1/agent/state | jq .3. プロジェクトを開く
curl -s -X POST http://localhost:5900/api/v1/projects/open \
-H 'Content-Type: application/json' \
-d '{"path":"/abs/path/to/file.lzrproj"}'4. 実行中のサーバーを通じてデザインを描画する
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. カメラの状態を取得する
curl -s http://localhost:5900/api/v1/camera/state | jq .6. アプリのフロントエンドを通じてカメラオーバーレイを描画する
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}'利用可能なエンドポイントグループ
完全なインターフェースについては、APIリファレンスセクション(内容が追加された時点)を参照してください。主なグループは次のとおりです。
/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。
セキュリティ
APIサーバーには認証がありません。接続しているネットワークが信頼できることを前提としています。
- localhostのみのバインドにより、ローカルマシンへの公開に制限されます。
- ネットワークバインドは個別にオプトインする設定で、同じLAN上の誰でもAPIにアクセスできるようになります。信頼できるネットワークでのみ有効にしてください。
動作を確認する
curl agent/capabilitiesがJSONを返します。- 描画呼び出しによって要求したファイルが生成されます。