MERK at denne siden er utdatert. Følgende skal brukes for validering i v2:
Prevalidering
Valideringstjeneste (ValService) for nye byggsøknader og plantjenester
Innsending
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
Det kjøres i tillegg alltid en validering ved process next
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