Beam Bench-dokumentation

HTTP-API

Styr Beam Bench fra enhver HTTP-klient. Den samme grænseflade, som CLI'en bruger.

HTTP-API'et er integrationsgrænsefladen til Beam Bench. De fleste CLI-kommandoer og eksterne klienter bruger disse ruter. Desktopfrontend'en kalder den delte tjeneste gennem Tauri IPC og kræver ikke HTTP-serveren ved normal brug. Hvis du har et behov, der kræver Beam Bench i et miljø uden CLI, for eksempel en webapp, integrationsserver, mobilapp eller dine egne værktøjer, skal du bruge API'et direkte.

API'et leveres med desktopappen og kører i processen. Der er ingen separat tjeneste, der skal installeres.

Standardindstillinger og sikkerhed

I den aktuelle version leveres den lokale API-server med disse indstillinger:

  • Lokal API: fra.
  • API-port: 5900.
  • Tillad netværksenheder: fra. Når API'et er aktiveret, bindes det til 127.0.0.1 og accepterer kun forbindelser fra denne computer.

API'et lytter ikke efter forbindelser, før du aktivt vælger det. Aktivering af netværksadgang kræver et separat aktivt valg, fordi API'et ikke har godkendelse og indeholder funktioner, der kan flytte maskinen og aktivere laseren.

For at bruge API'et skal du ændre indstillingerne fra Indstillinger → Generelt:

  1. Åbn desktopappen.
  2. Rediger → Indstillinger → Generelt.
  3. Slå Lokal API til.
  4. Lad Tillad netværksenheder være slået fra, medmindre en anden godkendt enhed skal oprette forbindelse.

Ændringer træder i kraft med det samme, der kræves ingen genstart.

Basis-URL

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

<host> er localhost (eller 127.0.0.1), når Tillad netværksenheder er slået fra. Når den er slået til, kan serveren nås på maskinens LAN-IP fra enhver enhed på netværket.

Porten kan konfigureres i Indstillinger → Generelt, 5900 er standarden.

Godkendelse

Ingen. API'et har hverken token, nøgle eller login.

  • Ved localhost-binding er adgangsmodellen på operativsystemniveau grænsen: Alle processer på din maskine kan tale med API'et.
  • Når netværksbinding er aktiveret, kan alle på det samme netværk tale med API'et. Brug ikke netværksbinding på et Wi-Fi-netværk, du ikke har tillid til.

Forespørgselsformat

Alle POST/PATCH/PUT-forespørgsler har JSON som brødtekst:

Content-Type: application/json

Forespørgselsstrenge er flade key=value. Stisegmenter URL-kodes som normalt.

Svarstruktur

Vellykkede svar returnerer ressourcebrødteksten direkte uden indpakning:

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

Fejl returnerer en ensartet struktur:

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

error.code er en af følgende:

CodeHTTPBetydning
not_found404Den ønskede ressource findes ikke.
invalid_input400Forespørgselsbrødteksten eller parametrene var forkert formateret eller blev afvist.
invalid_state412Appen er ikke i en tilstand, hvor denne handling giver mening, for eksempel fordi intet projekt er åbent.
busy409En modstridende handling er allerede i gang.
conflict409En anden skriver har ændret ressourcen, siden du sidst læste den.
stale_revision412Dit revisionstoken er bagud i forhold til det aktuelle. Læs igen, og prøv derefter igen.
machine_io502Maskinforbindelsen mislykkedes, for eksempel ved afbrydelse, timeout eller transportfejl.
persistence500Skrivning eller læsning af disk mislykkedes.
internal500Uventet serverfejl. Rapporter den som en fejl.

Fejl, der kræver bekræftelse

En mindre gruppe handlinger kan flytte maskinen eller aktivere laseren. Disse slutpunkter kræver et eksplicit bekræftelsesflag i forespørgselsbrødteksten. Hvis det mangler, returnerer API'et 428 Precondition Required:

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

Send forespørgslen igen med det navngivne flag sat til true. De flag, der aktuelt bruges, er confirm_motion, confirm_laser_on, confirm_raw_gcode og confirm_air_assist.

Samtidige projektredigeringer

Designtransaktioner sammenligner det registrerede projekt på committidspunktet. En samtidig redigering, et projektskift eller en lukning kan returnere stale_revision. Opdater tilstanden, og vurder ændringen igen, før du prøver igen. Afspil ikke blindt et ældre projektøjebliksbillede oven på nyere arbejde.

Slutpunktgrupper

StiDækker
/api/v1/appAppoplysninger på øverste niveau: version, oppetid og funktioner.
/api/v1/agentAgentens funktionsskema, øjebliksbillede af tilstanden og betjeningsvejledning.
/api/v1/projectsÅbn, gem og luk. Lag, objekter, fortryd og gentag.
/api/v1/projects/importImportér LightBurn-, SVG-, DXF-, PDF-, AI-, EPS- og rasterfiler. En separat rute håndterer begrænset import af G-code-geometri.
/api/v1/exportGengiv et projekt til SVG, DXF, PDF, EPS eller AI.
/api/v1/designBeskriv det aktuelle design, gengiv til PNG, og anvend transaktionsbaserede redigeringer.
/api/v1/previewGenerér skæreeksempel og statistik.
/api/v1/jobsForberedelseskontrol, kør, prøvekørsel, pause, genoptag, indram og stop.
/api/v1/machineOpret forbindelse, afbryd forbindelse, status, jog og kør til hjemposition.
/api/v1/cameraEnheder, tilstand, optagelse, overlejring, visning, transformation og gengivelse, kalibrering og justering.
/api/v1/consoleSend rå G-code. Læs den seneste konsollog.
/api/v1/macrosVis, gem og kør brugermakroer.
/api/v1/materialsMaterialebibliotek: forudindstillinger med materiale og tykkelse som nøgler.
/api/v1/profilesMaskinprofiler: opret, vis og anvend.
/api/v1/assetsAdgang til Kunstbibliotekets aktiver.
/api/v1/vectorVektorhandlinger: konvertér, boolsk, gruppér og sti.
/api/v1/eventsWebSocket-strøm med tilstandsændringer og maskinhændelser.

Referencer til de enkelte ressourcer er stadig under udarbejdelse. Se agentens funktionsskema imens.

Find den aktive grænseflade

Den hurtigste måde at se, hvad din installerede version viser:

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

Dette returnerer hele funktionsskemaet, inklusive alle slutpunkter, deres parametre og deres svarstruktur. Skemaet er den autoritative beskrivelse, denne side er en vejledning til det.

For at se tilstanden:

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

For en skriftlig introduktion til, hvordan appen betjenes:

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

Versionsstyring

Alle ruter ligger under /api/v1. Brydende ændringer kommer i /api/v2, når de forekommer. Tilføjelser, som nye slutpunkter og nye valgfrie felter, leveres i v1 uden ændring af versionen.

Relateret

On this page