Gå til innholdet

Typiske integrasjoner

Referansesidene under REST API dokumenterer hvert endepunkt for seg. Denne siden viser hvordan de settes sammen når du bygger funksjonalitet på Wenn Property-data.

De fleste integrasjoner består av de samme fem stegene.

Server-til-server-integrasjoner bruker OAuth 2.0 Client Credentials. Se B2B-integrasjon (M2M) for oppsett, token-caching og feilhåndtering.

Tilgangene er delt i to:

ScopeGir tilgang til
read:projectsProsjekter, bilder, mål, plantegninger, takdata
manage:sharesOpprette, liste, forlenge og tilbakekalle delingslenker

Å kunne lese et prosjekt gir ikke rett til å gi eksterne parter tilgang til det — be om begge scopes bare hvis du trenger begge.

Bruk det paginerte listeendepunktet med adressefiltre for å finne prosjektet:

GET /v1/projects/page?street=Storgata&city=Oslo&limit=50
Authorization: Bearer <ditt-token>

street og city er case-insensitive prefiksmatch, postalCode er eksakt match, og filtrene kombineres med OG. Svaret er en sidekonvolutt med items, nextCursor og hasMore — send nextCursor tilbake som cursor for neste side.

Lagre projectId mot din egen prosjektpost. Adressesøk fungerer godt for å velge prosjekt første gang, men adresser skrives ulikt, endres og gir flere treff — så en eksplisitt kobling er mer robust enn å søke på nytt hver gang. Alle senere kall bruker projectId direkte.

Se Prosjekter for feltbeskrivelser og eksempelsvar.

Når du har projectId, henter du det du trenger:

EndepunktGir deg
GET /v1/projects/{projectId}Rom, bildereferanser, AI-sammendrag, befaringsnotater
GET /v1/projects/{projectId}/photos/{photoId}.{extension}Bilde som binærdata. ?width= skalerer
GET /v1/projects/{projectId}/measurementsGulvareal, veggareal, vinduer, dører, listlengder per rom
GET /v1/projects/{projectId}/floorplanPlantegning som SVG
GET /v1/projects/{projectId}/wallsVeggmål per rom
GET /v1/projects/{projectId}/walls/svgVeggoppriss som SVG
GET /v1/projects/{projectId}/roofTakmål — 3D-areal, helning, flater per bygning
GET /v1/projects/{projectId}/roof/svgTakplan som SVG
GET /v1/projects/{projectId}/roof/photoFlyfoto av taket

Bildereferanser kommer som photoId og extension i prosjektsvaret. Sett dem sammen til et filnavn:

GET /v1/projects/abc-123/photos/photo-1.jpg?width=800
Authorization: Bearer <ditt-token>

Bilder og SVG-er er de tyngste ressursene. Skalér bilder ned med width når du bygger miniatyrer eller forhåndsvisninger.

En delingslenke gir en ekstern part tidsbegrenset, PIN-beskyttet tilgang til et prosjekt uten at de trenger en Wenn Property-konto:

POST /v1/projects/abc-123/shares
Authorization: Bearer <ditt-token>
Content-Type: application/json
{
"name": "Acme Tak AS",
"expiresAt": "2026-06-01T00:00:00Z"
}

Serveren genererer en 4-sifret PIN og returnerer den sammen med shareId. Utløp settes til 7 dager fram i tid hvis du utelater expiresAt.

Opprett én lenke per mottaker, og sett name til navnet på den inviterte parten. accessCount og lastAccessedAt føres per lenke, så én lenke per mottaker er det som gjør det mulig å se hvem som faktisk har åpnet prosjektet — og å tilbakekalle tilgangen for én part uten å ramme de andre.

Livssyklusen forvaltes med de øvrige endepunktene:

OperasjonEndepunkt
List lenker (aktive og tilbakekalte)GET /v1/projects/{projectId}/shares
Forleng utløpPUT /v1/projects/{projectId}/shares/{shareId}
TilbakekallDELETE /v1/projects/{projectId}/shares/{shareId}

Tilbakekalling deaktiverer lenken uten å slette den, slik at tilgangshistorikken består. Se Delingslenker for fullstendig datamodell og feilkoder.

Et prosjekt endrer seg etter at det er opprettet — nye bilder, oppdaterte befaringsnotater, reviderte mål. Sammenlign lastUpdated på prosjektsammendraget mot verdien du lagret sist, og hent detaljer på nytt bare for de prosjektene der den har endret seg.

GET /v1/projects/page?limit=200
Authorization: Bearer <ditt-token>

Legg synkroniseringen på et intervall som passer arbeidsflyten — for de fleste integrasjoner holder det å synkronisere noen ganger i døgnet, eller når brukeren åpner saken. Respekter Retry-After ved 429, og bruk exponential backoff ved 5xx.

To vanlige funksjoner, satt sammen av stegene over.

Invitere eksterne parter inn i prosjektdata

Section titled “Invitere eksterne parter inn i prosjektdata”

Nyttig når produktet ditt koordinerer flere aktører rundt samme eiendom — anbud, innhenting av tilbud, leverandøroppfølging.

  1. Brukeren finner eiendommen, og du kobler den til et projectId én gang
  2. For hver aktør som inviteres, oppretter du en delingslenke med name satt til aktørens navn
  3. Du distribuerer lenke og PIN gjennom din egen invitasjonsflyt
  4. Ved behov forlenger du utløpet, eller tilbakekaller lenken for enkeltaktører når de går ut av prosessen

Aktørene får tilgang til prosjektdataene uten Wenn Property-konto, og accessCount og lastAccessedAt viser hvem som har åpnet prosjektet.

Legge befaringsdokumentasjon inn i en prosjektstruktur

Section titled “Legge befaringsdokumentasjon inn i en prosjektstruktur”

Nyttig når produktet ditt er stedet der prosjektdokumentasjonen samles — prosjektstyring, HMS, kvalitetssystemer, avvikshåndtering.

  1. Brukeren kobler et prosjekt til et projectId
  2. Du henter ressursene som skal arkiveres — plantegning, mål, bilder, takdata
  3. Du lagrer dem i din egen struktur
  4. Du synkroniserer på lastUpdated og oppdaterer det som har endret seg

Ressursene hentes enkeltvis (se steg 3), så du kan arkivere bare det du trenger.

Skal du i gang med en integrasjon, ta kontakt på hei@wennproperty.no — vi setter opp en sandkasse-tenant og en supportkanal.