HTTP API
A Beam Bench vezérlése bármely HTTP-kliensből. Ugyanazt a felületet használja, mint a CLI.
A HTTP API a Beam Bench integrációs felülete. Az asztali alkalmazás, a CLI és minden külső kliens ugyanazokkal az útvonalakkal kommunikál. Ha olyan felhasználási esethez van szüksége a Beam Benchre, amely nem CLI-környezetet igényel (webalkalmazás, integrációs szerver, mobilalkalmazás, saját eszköz), használja közvetlenül az API-t.
Az API az asztali alkalmazás része, és a folyamaton belül fut. Nincs külön telepítendő szolgáltatás.
Alapértelmezések és biztonság
A jelenlegi verzióban a helyi API-szerver beállításai:
- Helyi API: kikapcsolva.
- API-port: 5900.
- Hálózati eszközök engedélyezése: kikapcsolva. Az API engedélyezésekor a szerver a
127.0.0.1címhez kötődik, és csak erről a számítógépről fogad kapcsolatokat.
Az API addig nem figyeli a kapcsolatokat, amíg külön nem engedélyezi. A hálózati hozzáférés külön engedélyezést igényel, mert az API nem használ hitelesítést, és olyan műveleteket is tartalmaz, amelyek mozgathatják a gépet és bekapcsolhatják a lézert.
Az API használatához módosítsa a beállításait a Beállítások elemre → Általános oldalon:
- Nyissa meg az asztali alkalmazást.
- Szerkesztés → Beállítások elemre → Általános.
- Kapcsolja be a Helyi API beállítást.
- Hagyja kikapcsolva a Hálózati eszközök engedélyezése beállítást, kivéve, ha egy másik megbízható eszköznek kell csatlakoznia.
A módosítások azonnal érvénybe lépnek, nincs szükség újraindításra.
Alap URL
http://<host>:5900/api/v1A <host> értéke localhost (vagy 127.0.0.1), ha a Hálózati eszközök engedélyezése ki van kapcsolva. Bekapcsolt állapotban a szerver a gép LAN IP-címén érhető el a hálózat bármely eszközéről.
A port a Beállítások elemre → Általános oldalon állítható be; az alapértelmezett érték 5900.
Hitelesítés
Nincs. Az API nem használ tokent, kulcsot vagy bejelentkezést.
- A localhosthoz kötött módban az operációs rendszer szintű hozzáférési modellje jelenti a határt: a gépen futó bármely folyamat kommunikálhat az API-val.
- Engedélyezett hálózati kötés esetén ugyanazon a hálózaton bárki kommunikálhat az API-val. Ne használja a hálózati kötési módot nem megbízható Wi-Fi-hálózaton.
Kérés formátuma
Minden POST/PATCH/PUT törzs JSON:
Content-Type: application/jsonA lekérdezési karakterláncok egyszerű key=value formátumúak. Az útvonalszegmensek a szokásos módon URL-kódolva vannak.
Válaszburkoló
A sikeres válaszok közvetlenül az erőforrás törzsét adják vissza, burkoló nélkül:
{
"field": "value",
"...": "..."
}A hibák egységes burkolóban érkeznek:
{
"error": {
"code": "InvalidInput",
"message": "Human-readable summary of what went wrong.",
"details": { "...optional structured context..." }
}
}Az error.code lehetséges értékei:
| Kód | HTTP | Jelentés |
|---|---|---|
NotFound | 404 | A kért erőforrás nem létezik. |
InvalidInput | 400 | A kérés törzse vagy paraméterei hibásak, illetve elutasításra kerültek. |
InvalidState | 412 | Az alkalmazás nincs olyan állapotban, amelyben ennek a műveletnek lenne értelme (például nincs megnyitott projekt). |
Busy | 409 | Már folyamatban van egy ütköző művelet. |
Conflict | 409 | Egy másik író módosította az erőforrást az utolsó olvasás óta. |
StaleRevision | 412 | A verziótoken elmarad az aktuális értéktől. Olvassa újra, majd próbálkozzon ismét. |
MachineIo | 502 | A gép kapcsolata sikertelen (megszakadás, időtúllépés, átviteli hiba). |
Persistence | 500 | Sikertelen lemezre írás vagy lemezről olvasás. |
Internal | 500 | Váratlan szerverhiba. Jelentse hibaként. |
Megerősítést igénylő hibák
Néhány művelet mozgathatja a gépet vagy bekapcsolhatja a lézert. Ezekhez a végpontokhoz a kérés törzsében kifejezett megerősítési jelző szükséges. Ha ez hiányzik, az API 428 Precondition Required választ ad:
{
"error_code": "CONFIRMATION_REQUIRED",
"missing": ["confirm_motion"],
"message": "This command can move the machine and requires explicit confirmation."
}Küldje el újra a kérést úgy, hogy a megnevezett jelző értéke true legyen. Jelenleg ezek a jelzők használatosak: confirm_motion, confirm_laser_on, confirm_raw_gcode és confirm_air_assist.
Végpontcsoportok
| Útvonal | Lefedett funkció |
|---|---|
/api/v1/app | Alkalmazásszintű információk: verzió, üzemidő, képességek. |
/api/v1/agent | Az agent képességsémája, állapotpillanatkép és használati útmutató. |
/api/v1/projects | Megnyitás, mentés, bezárás. Rétegek, objektumok, visszavonás/újra. |
/api/v1/projects/import | SVG-, DXF-, PDF-, AI- és raszterképek importálása projektbe. |
/api/v1/export | Projekt renderelése SVG, DXF, PDF, EPS vagy AI formátumba. |
/api/v1/design | Az aktuális terv leírása, PNG-be renderelés, tranzakciós módosítások alkalmazása. |
/api/v1/preview | Vágási előnézetek és statisztikák létrehozása. |
/api/v1/jobs | Előzetes ellenőrzés, futtatás, szárazfuttatás, szüneteltetés, folytatás, keretezés, leállítás. |
/api/v1/machine | Csatlakozás, leválasztás, állapot, léptetés, kezdőpozícióba állítás. |
/api/v1/camera | Eszközök, állapot, rögzítés, fedvény (megjelenítés, transzformáció, renderelés), kalibrálás, igazítás. |
/api/v1/console | Nyers G-code küldése. A legutóbbi konzolnapló olvasása. |
/api/v1/macros | Felhasználói makrók listázása, mentése és futtatása. |
/api/v1/materials | Anyagkönyvtár: anyag és vastagság szerint kulcsolt előbeállítások. |
/api/v1/profiles | Gépprofilok: létrehozás, listázás, alkalmazás. |
/api/v1/assets | Grafikatár-eszközök elérése. |
/api/v1/vector | Vektorműveletek: átalakítás, logikai műveletek, csoportosítás, útvonal. |
/api/v1/events | Az állapotváltozások és gépesemények WebSocket-adatfolyama. |
Az erőforrásonkénti referencioldalak még készülnek; addig is tekintse meg az agent képességsémáját.
Az aktuális felület felfedezése
A telepített verzió által biztosított felület megtekintésének leggyorsabb módja:
curl -s http://localhost:5900/api/v1/agent/capabilities | jq .Ez a teljes képességsémát adja vissza, beleértve minden végpontot, annak paramétereit és válaszformátumát. A séma a mérvadó leírás; ez az oldal útmutatóként szolgál hozzá.
Az állapot vizsgálatához:
curl -s http://localhost:5900/api/v1/agent/state | jq .Az alkalmazás vezérléséről szóló írásos bevezetőhöz:
curl -s http://localhost:5900/api/v1/agent/guideVerziókezelés
Minden útvonal a /api/v1 alatt található. A visszamenőleg inkompatibilis módosítások, amikor szükségesek, a /api/v2 alatt jelennek meg. A bővítő módosítások (új végpontok, új opcionális mezők) verzióváltás nélkül, a v1 részeként jelennek meg.
Kapcsolódó oldalak
- A HTTP API használata: oktató jellegű bevezetés kidolgozott példákkal.
- Hogyan osztja meg az állapotot a CLI és az alkalmazás: az ezen végpontok mögött álló konzisztenciamodell.
- Beállítások elemre → Általános: itt engedélyezheti az API-t, és itt választhatja ki a portot.