HTTP API
Styr Beam Bench fra en hvilken som helst HTTP-klient. Det samme grensesnittet som CLI-en bruker.
HTTP-API-et er integrasjonsgrensesnittet for Beam Bench. Skrivebordsappen, CLI-en og alle eksterne klienter bruker de samme rutene. Hvis du har et bruksområde som trenger Beam Bench i et miljø uten CLI, for eksempel en nettapp, integrasjonsserver, mobilapp eller egne verktøy, bruker du API-et direkte.
API-et leveres med skrivebordsappen og kjører i samme prosess. Det finnes ingen separat tjeneste som må installeres.
Standardinnstillinger og sikkerhet
I den nåværende versjonen leveres den lokale API-serveren med disse innstillingene:
- Lokalt API: av.
- API-port: 5900.
- Tillat at enheter i nettverket kobler til: av. Når API-et er aktivert, bindes det til
127.0.0.1og godtar bare tilkoblinger fra denne datamaskinen.
API-et lytter ikke etter tilkoblinger før du velger å aktivere det. Nettverkstilgang krever et separat aktivt valg fordi API-et ikke har autentisering og inneholder operasjoner som kan flytte maskinen og utløse laseren.
Hvis du vil bruke API-et, endrer du innstillingene under Innstillinger → Generelt:
- Åpne skrivebordsappen.
- Rediger → Innstillinger → Generelt.
- Slå på Lokalt API.
- La Tillat at enheter i nettverket kobler til være av med mindre en annen klarert enhet må koble til.
Endringene trer i kraft umiddelbart. Du trenger ikke å starte appen på nytt.
Basis-URL
http://<host>:5900/api/v1<host> er localhost (eller 127.0.0.1) når Tillat at enheter i nettverket kobler til er av. Når den er på, kan serveren nås på maskinens lokale IP-adresse fra alle enheter i nettverket.
Porten kan konfigureres under Innstillinger → Generelt. 5900 er standardverdien.
Autentisering
Ingen. API-et har ingen token, nøkkel eller innlogging.
- Ved binding til localhost er tilgangsmodellen på operativsystemnivå grensen: Alle prosesser på maskinen kan kommunisere med API-et.
- Når nettverksbinding er aktivert, kan alle på samme nettverk kommunisere med API-et. Ikke bruk nettverksbindingsmodus på usikret Wi-Fi.
Forespørselsformat
Alle POST/PATCH/PUT-kropper er JSON:
Content-Type: application/jsonSpørringsstrenger er flate key=value. Banelementer URL-kodes på vanlig måte.
Svarinnpakning
Vellykkede svar returnerer ressursens innhold direkte, uten innpakking:
{
"field": "value",
"...": "..."
}Feil returnerer en enhetlig innpakking:
{
"error": {
"code": "InvalidInput",
"message": "Human-readable summary of what went wrong.",
"details": { "...optional structured context..." }
}
}error.code er én av:
| Kode | HTTP | Betydning |
|---|---|---|
NotFound | 404 | Den forespurte ressursen finnes ikke. |
InvalidInput | 400 | Forespørselsinnholdet eller parameterne hadde feil format eller ble avvist. |
InvalidState | 412 | Appen er ikke i en tilstand der denne operasjonen gir mening, for eksempel når ingen prosjekter er åpne. |
Busy | 409 | En motstridende operasjon pågår allerede. |
Conflict | 409 | En annen skriver endret ressursen siden du leste den sist. |
StaleRevision | 412 | Revisjonstokenet ditt ligger etter det gjeldende tokenet. Les på nytt og prøv igjen. |
MachineIo | 502 | Tilkoblingen til maskinen mislyktes, for eksempel på grunn av frakobling, tidsavbrudd eller transportfeil. |
Persistence | 500 | Lesing eller skriving til disken mislyktes. |
Internal | 500 | Uventet serverfeil. Rapporter det som en feil. |
Feil som krever bekreftelse
Et lite antall operasjoner kan flytte maskinen eller utløse laseren. Disse endepunktene krever et uttrykkelig bekreftelsesflagg i forespørselsinnholdet. Hvis flagget 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ørselen på nytt med det navngitte flagget satt til true. Flaggene som for øyeblikket brukes, er confirm_motion, confirm_laser_on, confirm_raw_gcode og confirm_air_assist.
Grupper av endepunkter
| Bane | Omfatter |
|---|---|
/api/v1/app | Informasjon på appnivå: versjon, oppetid og funksjoner. |
/api/v1/agent | Skjema for agentfunksjoner, tilstandsøyeblikksbilde og bruksveiledning. |
/api/v1/projects | Åpne, lagre og lukke. Lag, objekter og angre/gjør om. |
/api/v1/projects/import | Importer SVG, DXF, PDF, AI og rasterbilder til et prosjekt. |
/api/v1/export | Gjengi et prosjekt til SVG, DXF, PDF, EPS og AI. |
/api/v1/design | Beskriv det gjeldende designet, gjengi til PNG og bruk transaksjonsbaserte endringer. |
/api/v1/preview | Generer forhåndsvisninger av kutt og statistikk. |
/api/v1/jobs | Forhåndskontroll, kjøring, tørrkjøring, pause, fortsett, ramme og stopp. |
/api/v1/machine | Koble til, koble fra, vis status, kjør trinnvis og kjør hjem. |
/api/v1/camera | Enheter, tilstand, opptak, overlegg (visning, transformasjon og gjengivelse), kalibrering og justering. |
/api/v1/console | Send rå G-code. Les nylig konsolllogg. |
/api/v1/macros | List opp, lagre og kjør brukermakroer. |
/api/v1/materials | Materialbibliotek: forhåndsinnstillinger sortert etter materiale og tykkelse. |
/api/v1/profiles | Maskinprofiler: opprett, vis og bruk. |
/api/v1/assets | Tilgang til Grafikkbibliotek-ressurser. |
/api/v1/vector | Vektoroperasjoner: konverter, boolske operasjoner, grupper og baner. |
/api/v1/events | WebSocket-strøm med tilstandsendringer og maskinhendelser. |
Referansesider for de enkelte ressursene er under utvikling. Se agentens funksjonsskjema i mellomtiden.
Finn det aktive grensesnittet
Den raskeste måten å se hva den installerte versjonen tilbyr på, er:
curl -s http://localhost:5900/api/v1/agent/capabilities | jq .Dette returnerer hele funksjonsskjemaet, inkludert alle endepunkter, parameterne deres og formen på svarene. Skjemaet er den autoritative beskrivelsen. Denne siden er en veiledning til det.
For å undersøke tilstanden:
curl -s http://localhost:5900/api/v1/agent/state | jq .For en skriftlig innføring i hvordan du styrer appen:
curl -s http://localhost:5900/api/v1/agent/guideVersjonering
Alle ruter ligger under /api/v1. Brytende endringer legges i /api/v2 når det blir aktuelt. Tilleggsendringer, som nye endepunkter og nye valgfrie felt, leveres i v1 uten at versjonen økes.
Relatert
- Veiledning i bruk av HTTP-API-et: en innføring i veiledningsstil med gjennomarbeidede eksempler.
- Slik deler CLI-en og appen tilstand: konsistensmodellen bak disse endepunktene.
- Innstillinger → Generelt: her aktiverer du API-et og velger port.