Få melding med det same
Opprett, list og slett abonnement på endringar for ein eigedom eller eit selskap, levert som signerte CloudEvents-webhooks til ein URL du sjølv oppgjev.
Nøkkelen virker i dag på Leietaker-API og dagens Data API; Placepoint API godtar samme nøkkel når det lanseres.
Prøv med et ekte bygg: Oslo S, Jernbanetorget 1
- Prøvenøkkel med GitHub på under eitt minutt
- Signerte webhooks
- CloudEvents 1.0
- At-least-once levering
- Idempotent oppretting
ℹ️ Endepunktet svarar når Placepoint API er lansert. Kontrakten under er endeleg; Leigetakar-API svarar allereie.
Frå endring til varsel
Kalla svarar på korleis eit system får melding når noko faktisk endrar seg, i staden for å polle eit objekt på nytt kvar time. Bankar som følgjer opp pantesikkerheit treng varsel når ein eigar eller ein heftelse endrar seg, forvaltarar treng varsel når ein ny transaksjon blir tinglyst på ein eigedom i porteføljen, og system som overvakar mange selskap samtidig slepp å hente kvart selskap på nytt berre for å oppdage at ingenting har skjedd.
Eit abonnement blir retta mot enten ein eigedom eller eit selskap og ei liste hendingstypar, for eksempel OWNER_CHANGED eller TRANSACTION_REGISTERED. Kvar hending blir levert som ein signert CloudEvents 1.0-webhook, og leveransen er at-least-once, så mottakaren må handtere at same id kan kome meir enn éin gong.
Idempotent oppretting
createSubscriptionkrev einIdempotency-Key-header, så eit nytt forsøk på same oppretting gir same svar i 24 timar i staden for eit duplikat abonnement.Signert og verifiserbar
Kvar webhook ber headerenPlacepoint-Signature, til å verifisere med HMAC før du stolar på innhaldet.At-least-once, handter duplikat
Eit mislukka forsøk blir gjenteke i inntil 24 timar, så sameidkan kome meir enn éin gong på mottakarsida.
Felt som faktisk seier noko
Tre kall dekker heile livssyklusen til eit abonnement, alle med scopet subscriptions.write.
Opprett eit abonnement.
/subscriptionscurl -X POST "https://data.placepoint.no/subscriptions" \
-H "Authorization: Bearer $TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"target":{"kind":"PROPERTY","country":"NO","cadastreId":"0301-207-76-0-0"},"events":["OWNER_CHANGED","TRANSACTION_REGISTERED"],"webhookUrl":"https://example.com/webhooks/placepoint","secret":"whsec_REPLACE_WITH_32_RANDOM_CHARS"}'
svar · 201
{
"id": "sub_9f2c1a",
"target": {
"kind": "PROPERTY",
"country": "NO",
"cadastreId": "0301-207-76-0-0"
},
"events": [
"OWNER_CHANGED",
"TRANSACTION_REGISTERED"
],
"webhookUrl": "https://example.com/webhooks/placepoint",
"status": "ACTIVE",
"createdAt": "2026-09-07T10:15:00Z"
}
List eigne abonnement
listSubscriptions viser eigne aktive og pausa abonnement.
/subscriptionscurl -X GET "https://data.placepoint.no/subscriptions" \
-H "Authorization: Bearer $TOKEN"
svar · 200
{
"items": [
{
"id": "sub_9f2c1a",
"target": {
"kind": "PROPERTY",
"country": "NO",
"cadastreId": "0301-207-76-0-0"
},
"events": [
"OWNER_CHANGED",
"TRANSACTION_REGISTERED"
],
"webhookUrl": "https://example.com/webhooks/placepoint",
"status": "ACTIVE",
"createdAt": "2026-09-07T10:15:00Z"
}
]
}
Slett eit abonnement
deleteSubscription stansar leveransen umiddelbart.
/subscriptions/{subscriptionId}curl -X DELETE "https://data.placepoint.no/subscriptions/sub_9f2c1a" \
-H "Authorization: Bearer $TOKEN"
Ei levert hending ser slik ut:
{
"specversion": "1.0",
"type": "no.placepoint.property.owner_changed",
"source": "https://data.placepoint.no/subscriptions/sub_9f2c1a",
"id": "evt_4b2a1c",
"time": "2026-09-07T10:15:00Z",
"datacontenttype": "application/json",
"data": {
"country": "NO",
"cadastreId": "0301-208-15-0-0",
"changedField": "owners"
}
}
Verifiser signaturen i headeren Placepoint-Signature: t=<unix>,v1=<hex> før du stolar på innhaldet:
const crypto = require("node:crypto");
function isValid(header, rawBody, secret) {
const [t, v1] = header.split(",").map((p) => p.split("=")[1]);
const expected = crypto
.createHmac("sha256", secret)
.update(`${t}.${rawBody}`)
.digest("hex");
return crypto.timingSafeEqual(Buffer.from(v1), Buffer.from(expected));
}
Tre steg til første svar
Logg inn med GitHub
Eitt klikk, under eitt minutt, ingen betalingskort. Nøkkelen kjem tilbake til denne sida.Kall endepunktet
Curl-en over fyller seg ut med nøkkelen din når du er logga inn.createSubscriptiontreng mål (eigedom eller selskap), hendingstypar og einIdempotency-Key.Bruk svaret
Verifiser signaturen iPlacepoint-Signaturemed løyndomen din før du stolar på innhaldet, med funksjonen i eksempelet over.
Data og kjelder
Varsla blir utløyste av dei same endringane som resten av API-et eksponerer: eigarskifte, ny transaksjon og tilsvarande hendingar på eigedomen eller selskapet abonnementet gjeld.
Sjå også
Spørsmål og svar
Kva skjer om eg sender same oppretting to gonger?
Idempotency-Key-headeren gjer eit nytt forsøk trygt: same nøkkel innan 24 timar gir same svar tilbake i staden for eit nytt abonnement.Kan same hending kome fleire gonger?
id kan kome meir enn éin gong.Korleis verifiserer eg at ein webhook faktisk kjem frå Placepoint?
Placepoint-Signature: t=<unix>,v1=<hex> ber ein HMAC-signatur over tidsstempel og body. Rekn ut same HMAC med løyndomen din og samanlikn, som i eksempelet over.Kva hendingstypar kan eg abonnere på?
OWNER_CHANGED og TRANSACTION_REGISTERED er kjernen, med fleire hendingstypar på eigedom og selskap etter kvart som API-et blir bygd ut.