Veiledning for innsending av skjema

Utvikling med Fellestjenester Bygg

En instans som ønsker å lage en søknads løsning på grunnlage av Fellestjenester Bygg, får tilgang til XSD filer (en per skjema) og kan konsultere eksempel kode på Bitbucket.

Nettstedet https://fellesbygg.dibk.no/ gir tilgang til XSD filer.

Test prosjektet ligger på https://bitbucket.org/dibk/fb-testmotor og er utviklet i C# med VisualStudio. Kode klasser generert på grunnlag av XSDene er inkludert i VisualStudio prosjektet.

Test Prosjekt på fellesbygg.dibk.no

En implementation for test er tilgjengelig på https://fellesbygg.dibk.no/

Gjennom Altinn må API nøkler, domene whitelisting og testbrukere bestilles før test motoren kan brukes.

Nettsiden ser ut som figuren under:

  • Blankett: Dette er blankett nummeret brukt i DiBK. En oversikt over papir blanketter finnes her: https://dibk.no/no/byggeregler/Byggesoknader/Byggesaksblanketter/

  • Service Code: Dette er koden for skjema innsendelsen i Altinn. Det er også definert en "service edition code" for hvilken versjon av utgaven/innsendelsen som skal brukes.

  • Datamodell: nettsiden gir direkte tilgang til XSD filen for de forskjellige skjemaene.

  • Metadata: vedlegg og annen informasjon om innsendelsen

  • Dokumentasjon: dette gir tilgang om mer informasjon om de individuelle skjemaene

  • Innsending (test): Klikk på "Logg inn" for å få tilgang til test XML data basert på skjema XSDene


Det følgende er ett eksempel fra skjemaet "Erklæring om ansvarsrett".

Logg inn via ID-porten

Test prosjektet er satt opp på Altinn sitt TT02 test området. Her brukes innlogging og data om fiktive personer. Etter å ha klikket på "Logg inn" lenken, kommer man til ID-porten for innlogging med sin tildelte test person. Vanligvis brukes innlogging type "MinID".

Innlogging skjer i ID-porten med redirect tilbake til fellesbygg.dibk.no

Innsendingskjema

Figuren nedenfor viser test versjonen av skjema innsendelsen. Det har blitt klikket på Erklæring om Ansvarsrett, og en XML med eksempel data basert på ansvarsrettxxx.xsd modellen har blitt generert. Address og kommune informasjon har blitt fylt ut med tilfeldig informasjon. 

Det er mulig å editere XML dataene direkte i eksempeldata feltet for å teste spesifikke utfyllinger.

En spesialsydd søknadsløsing basert på Fellestjenester Bygg vil måtte generere en lignende XML, eller sett med XML skjema og vedlegg.

Søknaden kan generelt sendes inn på to måter: direkte signatur og arkivering. Dette betyr at søknaden er klar for innsending til kommunen. Det er også mulig å mellomlagre søknaden i Altinn, for enten å hentes ut igjen over API eller det er mulig å fullføre utfylling og innsending direkte i Altinn. Skjemaet kan således sendes direkte ved å klikke "Send inn og arkiver" eller for mellomlagring ved "Lagre til videre utfylling".

Altinn API

XML skjemaet blir sent inn til Altinn gjennom Altinn API. Dokumentasjon for APIer finnes her: https://www.altinn.no/api/Help

Full innsendelse og arkivering blir utført med en POST Messages:

https://www.altinn.no/api/Help/Api/POST-who-Messages_language_complete_sign

POST {who}/Messages?language={language}&complete={complete}&sign={sign}

  

{

    "Type": "FormTask",

    "ServiceCode": 4419,

    "ServiceEdition": 1,

    "_embedded" : {

        "forms" : [{

            "Type": "MainForm",

            "DataFormatId": "1",

            "DataFormatVersion": "1",

            "FormData": "<?xml version="1.0" encoding="utf-8"?><ErklaeringAnsvarsrett xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ... </ErklaeringAnsvarsrett>"

        }],

        "attachments" : [{

            "FileName": arkitekt_tegning_example.pdf",

            "AttachmentType": "Situasjonsplan",

            "Data": "base64 encoded"

        }]

    }

}


Attachment seksjonen er valgfri.

Om mellomlagring er ønsket, blir /api/my/messages?complete=false flagget brukt.


Metadata om innsendelsen

Vedlegg informasjon er spesifisert i metadata for de forskjellige innsendelsen, tilgjengelig fra fellesbygg.dibk.no.

Det er viktig at eventuelle vedlegg følger definisjonen gitt i metadata. Her er et eksempel fra " Søknad om midlertidig brukstillatelse":

Metadata

{

  "ServiceOwnerCode": "DIBK",

  "ServiceOwnerName": "Direktoratet for byggkvalitet",

  "ServiceName": "Søknad om midlertidig brukstillatelse",

  "ServiceCode": "4399",

  "ServiceEditionCode": 4,

  "ValidFrom": "2016-06-07T11:25:00",

  "ValidTo": "2046-02-18T15:24:00",

  "ServiceType": "FormTask",

  "RestEnabled": true,

  "AttachmentRules": [

    {

      "AttachmentRuleId": 1059,

      "AllowedFileTypes": "pdf",

      "AttachmentTypeName": "Avkjoerselsplan",

      "AttachmentTypeNameLanguage": "Avkjørselsplan",

      "IsCheckSumAllowed": false,

      "IsXsdValidationRequired": false,

      "MaxAttachmentCount": 1,

      "MaxFileSize": 200,

      "MinAttachmentCount": 0

    },

    {

      "AttachmentRuleId": 1061,

      "AllowedFileTypes": "pdf, sos",

      "AttachmentTypeName": "Situasjonsplan",

      "AttachmentTypeNameLanguage": "Situasjonsplan",

      "IsCheckSumAllowed": false,

      "IsXsdValidationRequired": false,

      "MaxAttachmentCount": 1,

      "MaxFileSize": 200,

      "MinAttachmentCount": 0

    },

        (data omitted)

  ],

  "FormsMetaData": [

    {

      "FormID": 178196,

      "FormName": "Søknad om midlertidig brukstillatelse",

      "DataFormatProviderType": "Altinn",

      "DataFormatID": "1",

      "DataFormatVersion": 1,

      "IsOnlyXsdValidation": false,

      "FormType": "MainForm",

      "_links": {

        "schema": {

          "href": "https://tt02.altinn.basefarm.net/api/metadata/formtask/4399/4/forms/1/1/xsd"

        }

      }

    }

  ],

  "_links": {

    "self": {

      "href": "https://tt02.altinn.basefarm.net/api/metadata/formtask/4399/4"

    }

  }

}


Merk at attachment listen is API meldingen må følge formatet definert i metadata.

Metadata

Altinn API message

Metadata

Altinn API message

{
"AttachmentRuleId": 1059,
"AllowedFileTypes": "pdf",
"AttachmentTypeName": "Avkjoerselsplan",
"AttachmentTypeNameLanguage": "Avkjørselsplan",
"IsCheckSumAllowed": false,
"IsXsdValidationRequired": false,
"MaxAttachmentCount": 1,
"MaxFileSize": 200,
"MinAttachmentCount": 0
}

"attachments" : [{
"FileName": avkjorselTegning.pdf",
"AttachmentType": "Avkjoerselsplan",
"Data": "base64 encoded"
}]

AllowedFileTypes

FileName (må stemme)

AttachmentTypeName

AttachmentType (må stemme)

MaxAttachmentCount (max antall vedlegg av denne typen, 0 betyr ingen grense)



MinAttachmentCount (min antall vedlegg av denne typen, 0 at vedlegget er valgfritt)



MaxFileSize (fil vedlegg kan ikke være over 200MB)