HTTP API
Ohjaa Beam Benchia millä tahansa HTTP-asiakasohjelmalla. Sama rajapinta, jota CLI käyttää.
HTTP API on Beam Benchin integrointirajapinta. Useimmat CLI-komennot ja ulkoiset asiakkaat käyttävät näitä reittejä. Työpöydän käyttöliittymä kutsuu jaettua palvelua Tauri IPC:n kautta eikä tarvitse HTTP-palvelinta normaalissa käytössä. Jos haluat käyttää Beam Benchiä ympäristössä, joka ei ole CLI (verkkosovellus, integraatiopalvelin, mobiilisovellus tai omat työkalusi), käytä APIa suoraan.
API toimitetaan työpöytäsovelluksen mukana ja se suoritetaan sovelluksen sisällä. Erillistä palvelua ei tarvitse asentaa.
Oletukset ja tietoturva
Nykyisessä koontiversiossa paikallinen API-palvelin toimitetaan näillä asetuksilla:
- Paikallinen API: pois käytöstä.
- API-portti: 5900.
- Salli verkkolaitteet: pois käytöstä. Kun API on käytössä, se sitoutuu osoitteeseen
127.0.0.1ja hyväksyy yhteydet vain tästä tietokoneesta.
API ei kuuntele yhteyksiä, ennen kuin otat sen käyttöön. Verkkoyhteyksien salliminen on erillinen käyttöönotto, koska APIlla ei ole todennusta ja se sisältää toimintoja, jotka voivat liikuttaa konetta ja käynnistää laserin.
Käytä APIa muuttamalla sen asetuksia kohdassa Asetukset → Yleiset:
- Avaa työpöytäsovellus.
- Muokkaa → Asetukset → Yleiset.
- Ota Paikallinen API käyttöön.
- Jätä Salli verkkolaitteet pois käytöstä, ellei jonkin muun luotetun laitteen tarvitse muodostaa yhteyttä.
Muutokset tulevat voimaan heti, uudelleenkäynnistystä ei tarvita.
Perus-URL-osoite
http://<host>:5900/api/v1<host> on localhost (tai 127.0.0.1), kun Salli verkkolaitteet on pois käytöstä. Kun asetus on käytössä, palvelin on tavoitettavissa koneen lähiverkon IP-osoitteessa kaikilta verkon laitteilta.
Portti voidaan määrittää kohdassa Asetukset → Yleiset; 5900 on oletus.
Todennus
Ei mitään. APIssa ei ole tunnusta, avainta eikä kirjautumista.
- Kun sidonta on localhost, käyttöjärjestelmän käyttöoikeusmalli on rajana: mikä tahansa koneesi prosessi voi keskustella API:n kanssa.
- Kun verkkosidonta on käytössä, kuka tahansa samassa verkossa oleva voi keskustella API:n kanssa. Älä käytä verkkosidontatilaa epäluotettavassa Wi-Fi-verkossa.
Pyyntöjen muoto
Kaikki POST/PATCH/PUT-rungot ovat JSON-muotoisia:
Content-Type: application/jsonKyselymerkkijonot ovat litteitä key=value-pareja. Polun osat koodataan URL-osoitteiden tapaan.
Vastauskuori
Onnistuneet vastaukset palauttavat resurssin rungon suoraan ilman kuorta:
{
"field": "value",
"...": "..."
}Virheet palauttavat yhdenmukaisen kuoren:
{
"error": {
"code": "invalid_input",
"message": "Human-readable summary of what went wrong.",
"details": { "...optional structured context..." }
}
}error.code on yksi seuraavista:
| Koodi | HTTP | Merkitys |
|---|---|---|
not_found | 404 | Pyydettyä resurssia ei ole olemassa. |
invalid_input | 400 | Pyyntörunko tai parametrit olivat virheellisiä tai ne hylättiin. |
invalid_state | 412 | Sovellus ei ole tilassa, jossa tällä toiminnolla olisi merkitystä, esimerkiksi projektia ei ole avattu. |
busy | 409 | Ristiriitainen toiminto on jo käynnissä. |
conflict | 409 | Toinen kirjoittaja muutti resurssia sen jälkeen, kun luit sen viimeksi. |
stale_revision | 412 | Muutostunnisteesi on nykyistä tunnistetta vanhempi. Lue uudelleen ja yritä uudelleen. |
machine_io | 502 | Yhteys koneeseen epäonnistui, esimerkiksi yhteys katkesi, aikakatkaisu tapahtui tai siirtovirhe ilmeni. |
persistence | 500 | Levylle kirjoittaminen tai levyltä lukeminen epäonnistui. |
internal | 500 | Odottamaton palvelinvirhe. Ilmoita siitä ohjelmistovirheenä. |
Vahvistusta edellyttävät virheet
Pieni joukko toimintoja voi liikuttaa konetta tai käynnistää laserin. Nämä päätepisteet edellyttävät pyyntörungossa eksplisiittistä vahvistuslippua. Jos lippu puuttuu, API palauttaa virheen 428 Precondition Required:
{
"error_code": "CONFIRMATION_REQUIRED",
"missing": ["confirm_motion"],
"message": "This command can move the machine and requires explicit confirmation."
}Lähetä pyyntö uudelleen niin, että nimetty lippu on asetettu arvoon true. Käytössä olevat liput ovat confirm_motion, confirm_laser_on, confirm_raw_gcode ja confirm_air_assist.
Samanaikaiset projektimuokkaukset
Suunnittelutapahtumat vertaavat tallennettua projektia sitoutushetkellä. Samanaikainen muokkaus, projektin vaihtaminen tai sulkeminen voi palauttaa virheen stale_revision. Päivitä tila ja arvioi muutos uudelleen ennen uutta yritystä. Älä toista vanhaa projektitilannekuvaa sokeasti uudemman työn päälle.
Päätepisteryhmät
| Polku | Sisältö |
|---|---|
/api/v1/app | Sovellustason tiedot: versio, käyttöaika ja ominaisuudet. |
/api/v1/agent | Agentin ominaisuusskeema, tilannekuva ja käyttöopas. |
/api/v1/projects | Avaa, tallenna ja sulje. Tasot, objektit, kumoa ja tee uudelleen. |
/api/v1/projects/import | Tuo LightBurn-, SVG-, DXF-, PDF-, AI-, EPS- ja rasteritiedostoja. Erillinen reitti käsittelee rajoitettua G-code-geometrian tuontia. |
/api/v1/export | Muunna projekti SVG-, DXF-, PDF-, EPS- tai AI-muotoon. |
/api/v1/design | Kuvaa nykyinen suunnitelma, muunna se PNG-kuvaksi ja käytä tapahtumamuutoksia. |
/api/v1/preview | Luo leikkausesikatseluja ja tilastoja. |
/api/v1/jobs | Esitarkistus, suoritus, kuiva-ajo, keskeytys, jatkaminen, rajaus ja pysäytys. |
/api/v1/machine | Yhdistä, katkaise yhteys, tila, siirrä ja kotiuta. |
/api/v1/camera | Laitteet, tila, kaappaus, peittokuva (näyttö, muunnos, renderöinti), kalibrointi ja kohdistus. |
/api/v1/console | Lähetä raakaa G-codea. Lue konsolin viimeisin loki. |
/api/v1/macros | Luettele, tallenna ja suorita käyttäjän makroja. |
/api/v1/materials | Materiaalikirjasto: materiaalin ja paksuuden mukaan avaimoidut esiasetukset. |
/api/v1/profiles | Koneprofiilit: luo, luettele ja ota käyttöön. |
/api/v1/assets | Grafiikkakirjaston resurssien käyttö. |
/api/v1/vector | Vektoritoiminnot: muunna, boolean, ryhmitä ja polku. |
/api/v1/events | WebSocket-virta tilamuutoksista ja koneen tapahtumista. |
Resurssikohtaiset viitesivut ovat vielä työn alla. Tutustu sillä välin agentin ominaisuusskeemaan.
Käytössä olevan rajapinnan selvittäminen
Nopein tapa nähdä, mitä asennettu versiosi tarjoaa:
curl -s http://localhost:5900/api/v1/agent/capabilities | jq .Tämä palauttaa koko ominaisuusskeeman, mukaan lukien kaikki päätepisteet, niiden parametrit ja vastausten rakenteen. Skeema on auktoritatiivinen kuvaus; tämä sivu on sen käyttöopas.
Tilatietojen tarkastelua varten:
curl -s http://localhost:5900/api/v1/agent/state | jq .Sovelluksen ohjaamista kuvaavaa kirjallista opastusta varten:
curl -s http://localhost:5900/api/v1/agent/guideVersiointi
Kaikki reitit ovat polun /api/v1 alla. Rikkovat muutokset sijoitetaan tarvittaessa polkuun /api/v2. Lisäävät muutokset, kuten uudet päätepisteet ja uudet valinnaiset kentät, toimitetaan versiossa v1 ilman versionumeron muutosta.
Aiheeseen liittyvää
- HTTP API -opas: opastetyylinen johdanto käytännön esimerkkeineen.
- Miten CLI ja sovellus jakavat tilan: näiden päätepisteiden taustalla oleva yhdenmukaisuusmalli.
- Asetukset → Yleiset: API:n käyttöönotto ja portin valinta.