DEMONSTRATOR
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żkaOpis
POST/api/v1/calculationsNowe 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}/bomZestawienie materiałów (sku, nazwa, kategoria, ilość, jednostka, cena, etap montażu).
GET/api/v1/calculations/{id}/cut-listLista 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}/instructionKroki montażu z materiałami i kontrolami, narzędzia, lista pakowania, adres wersji PDF.
GET / PUT/api/v1/parametersReguły obliczeń (domyślne, status, źródła); zapis profilu nadpisań parametrów.
GET/api/v1/productsKatalog produktów (dane przykładowe).

Endpointy interfejsu (używane przez aplikację)

MetodaŚcieżkaOpis
POST/api/calcPeł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/roofAnaliza dachu z NMPT dla obrysu [[lat, lon], …]: wysokość, wysokość okapu, kąt, typ dachu, pewność.
GET/api/catalogBaza schematów wewnętrznych mikropaneli z wyliczonymi parametrami, systemy montażu, falowniki, profile (dane przykładowe).
GET/api/openapiSpecyfikacja 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}}'

Specyfikacja OpenAPI (JSON) · Katalog (JSON)