Ga naar hoofdinhoud

API

De Home Drawing API genereert een woningillustratie als PNG, met daarin de voorgestelde verduurzamingsmaatregelen en een grafiek van de warmtebehoefte. De opmaak is vastgezet op het merkpalet en de achtergrond is transparant, zodat je de afbeelding in je eigen applicatie op elke achtergrond kunt plaatsen.

Basis-URL

https://api.sobolt.app

Authenticatie

De API vereist een API-sleutel. Geef deze bij elke aanroep mee in de X-Api-Key-header:

X-Api-Key: <jouw-api-sleutel>

Een ontbrekende of ongeldige sleutel geeft 401 Unauthorized terug. Neem contact op met Sobolt om een sleutel te verkrijgen.

Endpoint

GET /draw/home_rabobank.png

Geeft een PNG-illustratie terug met een transparante achtergrond. Alleen inhoudelijke parameters worden geaccepteerd — kleuren, lettertypen en opmaak staan server-side vast en kunnen niet worden overschreven.

Query-parameters

Elke maatregel is een name/amount-paar. Een maatregel wordt alleen getekend wanneer zowel de name als de amount zijn meegegeven én de amount groter is dan 0. De amount is het bedrag in euro's en wordt als geformatteerd bedrag in de illustratie weergegeven.

ParameterTypeOmschrijving
homeKindstringWoningtype (zie waarden hieronder)
roofName / roofAmountstring / numberDakisolatie
floorName / floorAmountstring / numberVloerisolatie
windowName / windowAmountstring / numberRamen / beglazing
doorName / doorAmountstring / numberDeur
facadeName / facadeAmountstring / numberGevelisolatie
ventilationName / ventilationAmountstring / numberVentilatie
heatpumpName / heatpumpAmountstring / numberWarmtepomp
solarName / solarAmountstring / numberZonnepanelen
otherName / otherAmountstring / numberOverige maatregel
heatNeedBeforeMeasuresnumberWarmtebehoefte vóór maatregelen (kWh/m²·jaar)
heatNeedAfterMeasuresnumberWarmtebehoefte ná maatregelen (kWh/m²·jaar)
insulationStandardnumberStreefwaarde isolatiestandaard (kWh/m²·jaar)

De grafiek van de warmtebehoefte wordt alleen getekend wanneer heatNeedBeforeMeasures, heatNeedAfterMeasures en insulationStandard alle drie samen worden meegegeven.

Woningtypen (homeKind):

WaardeOmschrijving
detached_gabledVrijstaand, met kap (standaard)
detached_flatVrijstaand, plat dak
terraced_in_between_gabledTussenwoning, met kap
terraced_in_between_flatTussenwoning, plat dak
appartment_end_topHoekappartement, bovenste verdieping
appartment_end_middleHoekappartement, tussenverdieping
appartment_end_bottomHoekappartement, begane grond
appartment_in_between_topTussenappartement, bovenste verdieping
appartment_in_between_middleTussenappartement, tussenverdieping
appartment_in_between_bottomTussenappartement, begane grond

Een ontbrekende of onbekende homeKind valt terug op detached_gabled. Let op de schrijfwijze appartment (dubbele p) — dat is exact de waarde waarop de server matcht.

Voorbeeld

Teken een vrijstaande woning met dakisolatie, HR++-beglazing en zonnepanelen, plus de grafiek van de warmtebehoefte, en sla het resultaat op als home.png:

curl -sS -H "X-Api-Key: <jouw-api-sleutel>" -o home.png \
'https://api.sobolt.app/draw/home_rabobank.png?homeKind=detached_gabled&roofName=Dakisolatie&roofAmount=3500&windowName=HR%2B%2B%20glas&windowAmount=4200&solarName=Zonnepanelen&solarAmount=5000&heatNeedBeforeMeasures=120&heatNeedAfterMeasures=55&insulationStandard=70'

Elke waarde met een spatie of een + moet in de URL worden ge-percent-encodeerd: een spatie wordt %20 en een + wordt %2B. Het label HR++ glas schrijf je dus als HR%2B%2B%20glas (een letterlijke + in een query-string wordt anders als spatie gelezen).

Antwoorden

StatusBetekenis
200 OKPNG-afbeelding (Content-Type: image/png), transparante achtergrond
401 UnauthorizedDe X-Api-Key-header ontbreekt of is ongeldig
500 Internal Server ErrorGenereren mislukt