Dokumentace Beam Bench

HTTP API

Ovládejte Beam Bench z libovolného HTTP klienta. Stejné rozhraní, se kterým komunikuje CLI.

HTTP API je integrační rozhraní pro Beam Bench. Desktopová aplikace, CLI i libovolný externí klient komunikují se stejnými cestami. Pokud potřebujete Beam Bench používat v prostředí mimo CLI (webová aplikace, integrační server, mobilní aplikace nebo vlastní nástroje), použijte přímo API.

API je dodáváno s desktopovou aplikací a běží v rámci jejího procesu. Není třeba instalovat samostatnou službu.

Výchozí nastavení a zabezpečení

V aktuálním sestavení je místní API server dodáván s tímto nastavením:

  • Místní API: vypnuto.
  • Port API: 5900.
  • Povolit zařízení v síti: vypnuto. Když je API povoleno, naslouchá na 127.0.0.1 a přijímá připojení pouze z tohoto počítače.

API nenaslouchá připojením, dokud jeho použití nepovolíte. Povolení síťového přístupu vyžaduje samostatné potvrzení, protože API nevyžaduje ověření a obsahuje operace, které mohou pohybovat strojem a spustit laser.

Chcete-li API používat, změňte jeho nastavení v části Nastavení → Obecné:

  1. Otevřete desktopovou aplikaci.
  2. Úpravy → Nastavení → Obecné.
  3. Zapněte Místní API.
  4. Povolit zařízení v síti ponechte vypnuté, pokud se nemusí připojit jiné důvěryhodné zařízení.

Změny se projeví okamžitě; restart není potřeba.

Základní URL

http://<host>:5900/api/v1

<host> je localhost (nebo 127.0.0.1), pokud je Povolit zařízení v síti vypnuté. Když je zapnuté, server je dostupný na LAN IP adrese počítače z libovolného zařízení v síti.

Portu lze nastavit v části Nastavení → Obecné; výchozí hodnota je 5900.

Ověřování

Žádné. API nemá token, klíč ani přihlášení.

  • Při vazbě na localhost je hranicí přístupu model přístupu na úrovni operačního systému: s API může komunikovat libovolný proces na vašem počítači.
  • Při povolené síťové vazbě může s API komunikovat kdokoli ve stejné síti. Režim síťové vazby nepoužívejte v nedůvěryhodných sítích Wi-Fi.

Formát požadavku

Těla všech požadavků POST/PATCH/PUT jsou ve formátu JSON:

Content-Type: application/json

Řetězce dotazu mají plochý formát key=value. Segmenty cesty se kódují jako obvykle v URL.

Obálka odpovědi

Úspěšné odpovědi vracejí přímo tělo zdroje bez obálky:

{
  "field": "value",
  "...": "..."
}

Chyby vracejí jednotnou obálku:

{
  "error": {
    "code": "InvalidInput",
    "message": "Human-readable summary of what went wrong.",
    "details": { "...optional structured context..." }
  }
}

error.code je jedna z těchto hodnot:

KódHTTPVýznam
NotFound404Požadovaný zdroj neexistuje.
InvalidInput400Tělo požadavku nebo parametry mají nesprávný formát či byly odmítnuty.
InvalidState412Aplikace není ve stavu, ve kterém tato operace dává smysl (např. není otevřený žádný projekt).
Busy409Již probíhá konfliktní operace.
Conflict409Jiný zapisující proces změnil zdroj od vašeho posledního načtení.
StaleRevision412Váš revizní token je pozadu za aktuálním tokenem. Načtěte údaje znovu a opakujte požadavek.
MachineIo502Připojení ke stroji selhalo (odpojení, vypršení časového limitu, chyba přenosu).
Persistence500Zápis na disk nebo čtení z disku selhalo.
Internal500Neočekávaná chyba serveru. Nahlaste ji jako chybu.

Chyby vyžadující potvrzení

Malá skupina operací může pohybovat strojem nebo spustit laser. Tyto koncové body vyžadují v těle požadavku explicitní příznak potvrzení. Pokud chybí, API vrátí 428 Precondition Required:

{
  "error_code": "CONFIRMATION_REQUIRED",
  "missing": ["confirm_motion"],
  "message": "This command can move the machine and requires explicit confirmation."
}

Odešlete požadavek znovu s pojmenovaným příznakem nastaveným na true. Aktuálně se používají příznaky confirm_motion, confirm_laser_on, confirm_raw_gcode a confirm_air_assist.

Skupiny koncových bodů

CestaCo zahrnuje
/api/v1/appInformace na úrovni aplikace: verze, doba běhu, možnosti.
/api/v1/agentSchéma možností agenta, snímek stavu a provozní příručka.
/api/v1/projectsOtevření, uložení a zavření. Vrstvy, objekty, zpět/opakovat.
/api/v1/projects/importImportuj SVG, DXF, PDF, AI a rastrových obrázků do projektu.
/api/v1/exportVykreslení projektu do SVG, DXF, PDF, EPS, AI.
/api/v1/designPopis aktuálního návrhu, vykreslení do PNG, použití transakčních úprav.
/api/v1/previewGenerování náhledů řezání a statistik.
/api/v1/jobsKontrola před spuštěním, spuštění, zkušební běh, pozastavení, pokračování, ohraničení, zastavení.
/api/v1/machinePřipojení, odpojení, stav, krokování, najetí do výchozí polohy.
/api/v1/cameraZařízení, stav, snímání, překryv (zobrazení, transformace, vykreslení), kalibrace, zarovnání.
/api/v1/consoleOdesílání nezpracovaného G-code. Čtení posledních záznamů konzole.
/api/v1/macrosVýpis, uložení a spuštění uživatelských maker.
/api/v1/materialsKnihovna materiálů: předvolby podle materiálu a tloušťky.
/api/v1/profilesProfily stroje: vytvoření, výpis, použití.
/api/v1/assetsPřístup k prostředkům panelu Knihovna grafiky.
/api/v1/vectorVektorové operace: převod, booleovské operace, seskupení, cesta.
/api/v1/eventsStream změn stavu a událostí stroje přes WebSocket.

Referenční stránky pro jednotlivé zdroje se stále připravují; do té doby nahlédněte do schématu možností agenta.

Zjištění aktuálního rozhraní

Nejrychlejší způsob, jak zjistit, co vaše nainstalovaná verze poskytuje:

curl -s http://localhost:5900/api/v1/agent/capabilities | jq .

Tento příkaz vrátí úplné schéma možností včetně všech koncových bodů, jejich parametrů a tvaru odpovědí. Schéma je autoritativním popisem; tato stránka slouží jako průvodce.

Pro kontrolu stavu:

curl -s http://localhost:5900/api/v1/agent/state | jq .

Písemný úvod k ovládání aplikace:

curl -s http://localhost:5900/api/v1/agent/guide

Verzování

Všechny cesty jsou pod /api/v1. Zpětně nekompatibilní změny budou při jejich zavedení umístěny pod /api/v2. Doplňující změny (nové koncové body, nová volitelná pole) se vydávají ve v1 bez zvýšení verze.

Související informace

On this page