Roasthubs v2 API
De v2 API is het getypeerde, OpenAPI-gedocumenteerde HTTP-oppervlak gebouwd met express-zod-api. Geef hieraan de voorkeur voor nieuwe integraties. Legacy-routes onder /api/... (zonder v2) bestaan nog, maar worden niet door deze Swagger gedekt.
Waar de docs te vinden (Swagger)
Op een draaiende Roasthubs-instantie:
| Wat | URL |
|---|---|
| Swagger UI | {baseUrl}/api/v2/docs |
| OpenAPI YAML | {baseUrl}/api/v2/docs.yaml |
Voorbeelden:
- Lokaal:
http://localhost:\{PORT\}/api/v2/docs - YAML:
http://localhost:\{PORT\}/api/v2/docs.yaml
Deze doc-routes zijn publiek (geen login vereist). Het aanroepen van de echte v2-endpoints vereist normaal een geauthenticeerde sessie.
De OpenAPI-spec wordt bij startup gegenereerd uit dezelfde routingboom als de live API (src/controllers/v2/v2Router.ts → src/openapi.ts).
Basispad
Alle v2-endpoints leven onder:
/api/v2/...
Endpointgroepen (overzicht)
| Groep | Basispad | Doel |
|---|---|---|
| Health | /api/v2/health | Health check |
| Productions | /api/v2/production | Producties tonen / aanmaken / ophalen / bijwerken / verwijderen |
| Lots | /api/v2/lots/... | Loten / containers lossen (incl. via realisation) |
| Containers | /api/v2/container/:id/emptyToCell | Een container in een cel legen |
| Plant nodes | /api/v2/plantNodes/:id | Een plantknoop bijwerken |
| Zones | /api/v2/roasthubsZones | Zones CRUD-achtig + dump lot/container / stop dump |
| Inventory | /api/v2/inventory/inventorizeWeightedCell | Een gewogen cel inventoriseren |
| Dosing | /api/v2/dosing/... | Doseerorder overslaan / stoppen, flow-alarm lege-cel-keuze |
| Shrinkage scale | /api/v2/shrinkageScale/discardBatch | Een shrinkage-scale-batch verwerpen |
| Scale calibration | /api/v2/scaleCalibration/... | Activeren / gewichten / deactiveren / status |
| Connections | /api/v2/connections | Externe verbindingen + clientcertificaten |
| Production options | /api/v2/productionRealisationOptions, /api/v2/productionTargetOptions | Realisation- & target-opties ophalen/bijwerken |
| OPC-UA | /api/v2/opcua/read, /api/v2/opcua/write | OPC-UA-tags lezen / schrijven |
Voor request-/responseschema's en exacte methoden gebruikt u Swagger UI — die is de bron van waarheid.
Auth
- Docs (
/api/v2/docs,/api/v2/docs.yaml): onbeveiligd - Endpoints: vereisen een geauthenticeerde gebruiker (sessie), tenzij een specifieke route anders is gemarkeerd
Client-SDK (frontend)
Een TypeScript-client wordt uit dezelfde routing gegenereerd naar:
client/src/express-zod-api-client/v2Client.ts
Gebruik die (of de OpenAPI YAML) bij integratie vanuit code.