Integracja
API modułu
Moduł działa jako usługa REST (JSON) i może być wywoływany przez inne moduły systemu (konfigurator, CRM, produkcja). Interfejs użytkownika korzysta z tych samych endpointów.
Kontrakt referencyjny v1
Wersjonowany kontrakt dla integracji z modułem geolokalizacji / 3D i konfiguratorem, przygotowany do dostosowania do specyfikacji API zamawiającego. Specyfikacja: /api/v1/openapi.json (OpenAPI 3.0, z przykładami).
| Metoda | Ścieżka | Opis |
|---|---|---|
| POST | /api/v1/calculations | Nowe wyliczenie. Wejście: adres albo dane z modułu geolokalizacji / 3D (obrys GeoJSON EPSG:4326 lub EPSG:2180, połacie z wierzchołkami 3D, linie charakterystyczne, przeszkody), produkty, układ elementów, parametry. Wyjście: BOM, lista cięć, elektryka, instrukcja, sumy. |
| GET | /api/v1/calculations/{id} | Pełny wynik zapisanego wyliczenia. |
| GET | /api/v1/calculations/{id}/bom | Zestawienie materiałów (sku, nazwa, kategoria, ilość, jednostka, cena, etap montażu). |
| GET | /api/v1/calculations/{id}/cut-list | Lista cięć profili AL z rozkrojem sztang i obróbką. |
| GET | /api/v1/calculations/{id}/electrical | Łańcuchy lub grupy MLPE, dobór urządzenia, kable, zabezpieczenia. |
| GET | /api/v1/calculations/{id}/instruction | Kroki montażu z materiałami i kontrolami, narzędzia, lista pakowania, adres wersji PDF. |
| GET / PUT | /api/v1/parameters | Reguły obliczeń (domyślne, status, źródła); zapis profilu nadpisań parametrów. |
| GET | /api/v1/products | Katalog produktów (dane przykładowe). |
Endpointy interfejsu (używane przez aplikację)
| Metoda | Ścieżka | Opis |
|---|---|---|
| POST | /api/calc | Pełne wyliczenie: adres lub geometria → połacie, rozmieszczenie PV, zestawienie materiałów (BOM), listy cięć profili, łańcuchy / MLPE, wiązki, produkcja energii, instrukcja montażu i lista pakowania. Parametr ?view=summary skraca odpowiedź. |
| GET | /api/site?address=… | Geokodowanie adresu (PRG GUGiK), działka ewidencyjna (ULDK), obrysy budynków w otoczeniu (OSM), wysokość terenu (NMT). |
| POST | /api/roof | Analiza dachu z NMPT dla obrysu [[lat, lon], …]: wysokość, wysokość okapu, kąt, typ dachu, pewność. |
| GET | /api/catalog | Baza schematów wewnętrznych mikropaneli z wyliczonymi parametrami, systemy montażu, falowniki, profile (dane przykładowe). |
| GET | /api/openapi | Specyfikacja OpenAPI 3.0 (JSON). |
Przykład: tylko adres
curl -s -X POST https://dach-pv.softwise.dev/api/calc?view=summary \
-H 'Content-Type: application/json' \
-d '{"address": "Michałowice, Raszyńska 23"}'Przykład: geometria i parametry
curl -s -X POST https://dach-pv.softwise.dev/api/calc \
-H 'Content-Type: application/json' \
-d '{"site": {"lat": 52.18, "lon": 20.87, "voivodeship": "mazowieckie"},
"building": {"length": 14, "width": 10, "angle": 0},
"roof": {"type": "dwuspadowy", "pitch": 38, "overhang": 0.4, "ridgeAlongLength": true},
"systemId": "zintegrowany", "mainTemplateId": "BPV-2M8", "fillerTemplateId": "BPV-1M4",
"topology": "mikrofalowniki", "options": {"gutters": true, "chimneys": 1}}'