/
Oppsett og registrering av abonnement

Oppsett og registrering av abonnement

Oppsett av abonnement gjøres via henvendelse til Service Desk. Følgende må være en del av henvendelsen;

  • Søknadssystemetsnavn (typisk identifikatoren som brukes i xml-noden metadata/fraSluttbrukersystem )

  • URL til WebhookAPIet som det ønskes å motta hendelser på

Krav til Webhook API

WebhookAPI-et må kunne ta i mot en POST-request med støtte for Cloud Event Schema v1.0. I tillegg til dette må API-et støtte validering av abonnementet. For cloud events gjøres dette ved et OPTIONS kall til endepunktet. Se spec for detaljer spec/http-webhook.md at v1.0 · cloudevents/spec

Eksempel på en controller i Dotnet som håndterer Cloud Events

using Azure.Messaging; using Microsoft.AspNetCore.Mvc; using System.Text; namespace CloudEventController { [ApiController] [Route("api/[controller]")] public class CloudEventController(ICloudEventService cloudEventService) : ControllerBase { [HttpPost] public async Task<IActionResult> PostCloudEvent(CloudEvent cloudEvent) { await cloudEventService.HandleEventAsync(cloudEvent); return Ok(); } [HttpOptions] public IActionResult Validate() { using var reader = new StreamReader(Request.Body, Encoding.UTF8); var webhookRequestOrigin = HttpContext.Request.Headers["WebHook-Request-Origin"].FirstOrDefault(); var webhookRequestCallback = HttpContext.Request.Headers["WebHook-Request-Callback"]; var webhookRequestRate = HttpContext.Request.Headers["WebHook-Request-Rate"]; HttpContext.Response.Headers.Append("WebHook-Allowed-Rate", "*"); HttpContext.Response.Headers.Append("WebHook-Allowed-Origin", webhookRequestOrigin); return Ok(); } } }

CloudEvent payload eksempel

{ "id": "50006a30-2113-49f7-b826-e19656eba5b8", "source": "Dibk.Ftpb.DbWatcher.App.FtpbApi.KvitteringSyncService", "type": "no.dibk.bygg.innsending.arkiv.kvittering-mottatt", "data": { "System": "Søknadssystem2000", "Content": { "Metadata": { "FraEbyggesaksystem": "VårtSystem", "InnsendingReferanse": "AR123456", "FtBId": "341424234143241214", "AvsenderId": "3817", "AvsenderNavn": "Midt-Telemark Kommune", "EkspedertDato": "2024-09-04T14:50:59Z", "OffentligJournalUrl": "https://midt-telemark.kommune.no/" }, "Saksnummer": { "Saksaar": "2024", "Sakssekvensnummer": "12421", "Journalpostnummer": "6549871" }, "AvsenderKontaktpunkt": { "Navn": "Byggesaksavdelingen", "Epost": "user@example.com", "Telefon": "+4799999999", "Mobil": "+4799999999" }, "Milepæl": "MS", "Saksbehandlingsfrist": "2024-10-12T08:47:59Z", "MottattDato": "2023-01-12T08:47:59Z", "RegistrertDato": "2023-01-12T08:47:59Z", "MottattDokument": [ { "DokumentNavn": "Kart.pdf", "MimeType": "application/pdf", "DokumentStorrelse": 123456, "EkstraMetadata": [ { "Key": "skjemaversjon.dokument.9", "Value": "5797.42813" } ] } ] } }, "time": "2024-09-04T11:15:03.2582556+00:00", "specversion": "1.0", "dataschema": "https://bitbucket.org/dibk/ftpb-saksbehandlingsdata/src/main/ftpb-eventschemas/KvitteringEvent.json", "datacontenttype": "application/json", "subject": "no/dibk/bygg/innsending/AR19200955/arkiv/kvittering/", "traceparent": "00-d614def0ac43ef04f590f7aa4eed5ae0-627f02658d539201-01", "tracestate": "es=s:1" }

Ressurser:

Mer info om Microsoft sine krav til Webhook-API: WebHook event delivery - Azure Event Grid

Microsoft CloudEvents docs: https://learn.microsoft.com/en-us/azure/event-grid/cloudevents-schema

Cloud Events Abuse Protection docs: https://github.com/cloudevents/spec/blob/v1.0/http-webhook.md#4-abuse-protection

Related content

FtPB Hendelser
FtPB Hendelser
Read with this
Integrasjon mot Sentral Godkjenning - SGregister
Integrasjon mot Sentral Godkjenning - SGregister
More like this
Integrasjon, test og utvikling
Integrasjon, test og utvikling
Read with this
Validering av reguleringsplanforslag
Validering av reguleringsplanforslag
More like this
Søknader som ønskes unntatt offentlighet
Søknader som ønskes unntatt offentlighet
Read with this
API for innsending av reguleringsplanforslag
API for innsending av reguleringsplanforslag
More like this