Utdatert
For prevalidering se Valideringstjeneste (ValService) for nye byggsøknader og plantjenester
Etter at instansen er opprettet kan man validere med appen sine endepunkter for validering.
https://dibk.apps.tt02.altinn.no/dibk/varselplanoppstart/swagger/index.html
Valideringsrapport
Etter validering kan man hente ut en valideringsrapport som tilsvarer responsen man får fra ValService. Den kan hentes på instansen på datatype Valideringsrapport
Forskjellige miljøer
Miljø - angitt som | Basis-url |
---|---|
Testmiljø (tt02) | |
Produksjon |
Autentisering
Det er ikke behov for autentisering mot API-et for validering.
APIet
Open API (Swagger)-dokumentasjon på alle API: https://dibk.apps.tt02.altinn.no/dibk/varselplanoppstart/swagger/
Basis-url til API for validering er:
POST {miljø}/dibk/varselplanoppstart/validering
heretter angitt som {validering}
.
Alle forespørsler mot API-et må sendes som “multipart/form-data”.
Endepunkter
API for validering har tre endepunkter:
POST {validering}/planvarsel
Validerer xml-filen som utgjør planvarslet
POST {validering}/planomraade
Validerer gml-filen som definerer planområdet
POST {validering}/innsending
Validerer planvarselet i sin helhet
Respons fra API-et
Responsen fra API-et har følgende form:
{ "correlationId": guid, "namespace": string, "errors": int, "warnings": int, "rules": [ { "id": string, "name": string, "description": string, "status": string, "messageType": string, "timeUsed": double, "messages": [] } ], "startTime": "yyyy-MM-ddThh:mm:ss.zzzzzzz+00:00", "endTime": "yyyy-MM-ddThh:mm:ss.zzzzzzz+00:00", "files": [ // list of file names ], "timeUsed": double }
correlationId
- Sporings-ID for valideringsforespørselen.namespace
- Ikke i bruk i denne løsningen.errors
- Totalt antallrules
som er validert med"status": "FAILED"
og"messageType": "ERROR"
.warnings
- Totalt antallrules
som er validert med"status": "FAILED"
og"messageType": "WARNING"
.rules
id
- Regelens identifikator.name
- Regelens navn.description
- Regelens beskrivelse.status
- Indikerer om regelen har validert som gyldig medPASSED
/FAILED
, eller om den ikke er sjekket (SKIPPED
).messageType
- Indikerer om regelen innebærer et MÅ- eller BØR-krav, ved henholdsvisERROR
/WARNING
.timeUsed
- Indikerer antall sekunder medgått til sjekk av regelen.messages
- Dersom regelen ikke har"status": "PASSED"
, vil det her ligge en nærmere beskrivelse av årsaken.
startTime
- Tidspunkt for når valideringsprosessen startet.endTime
- Tidspunkt for når valideringsprosessen var ferdig.files
- Liste av navn på xml/gml-filer som er validert mot skjema.timeUsed
- Indikerer antall sekunder (med to desimaler) medgått til valideringen.
Eksempler på bruk
Planvarsel
Url
POST {validering}/planvarsel
Multipart-request
{ "file": File //planvarsel.xml }
Respons
{ "correlationId": "f33d1cd5-fe3f-44c7-bfd4-a60d69903a6f", "namespace": "", "errors": 2, "warnings": 0, "rules": [ { "id": "vph.xsd.1", "name": "Innholdet må være i henhold til informasjonsmodell/XSD for skjema. Ta kontakt med søknadssystemet du bruker.", "description": "Innholdet må være i henhold til informasjonsmodell/XSD for skjema. Ta kontakt med søknadssystemet du bruker.", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0, "messages": [] }, //Resten av reglene.... ], "startTime": "2023-12-20T09:12:54.6621183+00:00", "endTime": "2023-12-20T09:12:54.7059069+00:00", "files": [ "planvarsel.xml" ], "timeUsed": 0.04 }
Planområde
Url
POST {validering}/planomraade
Multipart-request
{ "file": File //planomraade.gml }
Respons
{ "correlationId": "55aba585-32be-4cd0-884c-41128650f6fb", "namespace": "", "errors": 0, "warnings": 0, "rules": [ { "id": "gml.xsd.po", "name": "Skjemavalidering for GML-plangrense", "description": "Datasettet må være i henhold til oppgitt applikasjonsskjema", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0, "messages": [] }, { "id": "gml.gmlid.1", "name": "GML-ID for alle objekter i planen skal være unike", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0.0028365, "messages": [] }, { "id": "gml.uuid.1", "name": "LokalId er en gyldig UUID", "description": "Egenskapen 'LokalId' må være en gyldig UUID", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0.0078424, "messages": [] }, { "id": "gml.kurve.1", "name": "Kurver skal ha gyldig geometri", "status": "PASSED", "documentation": "https://dibk.atlassian.net/wiki/spaces/FP/pages/1918763029/gml.kurve.1", "messageType": "ERROR", "timeUsed": 0.0015616, "messages": [] }, { "id": "gml.kurve.2", "name": "Kurver skal ikke ha dobbeltpunkter", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0.0066684, "messages": [] }, { "id": "gml.bue.1", "name": "Sirkelbuer kan kun inneholde tre punkter", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0.0024707, "messages": [] }, { "id": "gml.bue.2", "name": "Punktene kan ikke ligge på rett linje for sirkelbue", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0.0021363, "messages": [] }, { "id": "gml.flate.1", "name": "Flater skal ha gyldig geometri", "status": "PASSED", "documentation": "https://dibk.atlassian.net/wiki/spaces/FP/pages/1933574255/gml.flate.1", "messageType": "ERROR", "timeUsed": 0.002271, "messages": [] }, { "id": "gml.flate.2", "name": "Avgrensningen til en flate kan ikke krysse seg selv", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0.0084871, "messages": [] }, { "id": "gml.flate.3", "name": "Avgrensningene til en flate skal nøstes i riktig retning", "description": "Ytre flateavgrensning skal nøstes i retning mot klokken, og indre avgrensing i retning med klokken.", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0.0278683, "messages": [] }, { "id": "gml.flate.4", "name": "Hull i flate må ligge innenfor flatens ytre avgrensning", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0.0862205, "messages": [] }, { "id": "gml.flate.5", "name": "Hull i flate kan ikke overlappe andre hull i samme flate", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0.081594, "messages": [] }, { "id": "gml.avgr.1", "name": "Samsvarende avgrensingsgeometri", "description": "Unionen av avgrensingslinjene til en flate må samsvare med flategeometrien.", "status": "SKIPPED", "messageType": "ERROR", "timeUsed": 0.0068963, "messages": [] } ], "startTime": "2023-12-20T09:42:31.7357459+00:00", "endTime": "2023-12-20T09:42:31.9679267+00:00", "files": [ "VORPAH-planområde.gml" ], "timeUsed": 0.23 }
Fullstendig innsending
Url
POST {validering}/innsending
Multipart-request
{ "Planvarsel": File //Planvarsel.xml "Planomraade": File //Planområde.gml "PlanomraadePdf": File //Planområde.pdf "PlanomraadeSosi": File //Planområde.sos "KartDetaljert": File //Detaljert_Kart.pdf "Planinitiativ": File //Planinitiativ.pdf "ReferatOppstartsmøte": File //Referat fra oppstartsmøte.pdf "Planprogram": File //Planprogram.pdf "Annet": File //Annet.pdf }
Respons
{ "correlationId": "f6b97240-4eb5-4297-be6c-d665fb73f207", "namespace": "", "errors": 0, "warnings": 2, "rules": [ { "id": "vph.xsd.1", "name": "Innholdet må være i henhold til informasjonsmodell/XSD for skjema. Ta kontakt med søknadssystemet du bruker.", "description": "Innholdet må være i henhold til informasjonsmodell/XSD for skjema. Ta kontakt med søknadssystemet du bruker.", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0, "messages": [] }, { "id": "gml.xsd.po", "name": "Skjemavalidering for GML-plangrense", "description": "Datasettet må være i henhold til oppgitt applikasjonsskjema", "status": "PASSED", "messageType": "ERROR", "timeUsed": 0, "messages": [] }, //Resten av reglene.... ], "startTime": "2023-12-20T10:53:55.4601116+00:00", "endTime": "2023-12-20T10:53:55.5070768+00:00", "files": [ "planvarsel_ok.xml", "VORPAH-planområde.gml" ], "timeUsed": 0.05 }
Legg til kommentar