Jeg og mine kolleger i Convergens er for tiden med til at hjælpe to af de myndigheder der deltager i Næste generation Digital Post Pilotforløbet.
Vi skal kunne modtage Digital Post i det nye MeMO-format, som er det Digital Post-format som man skal kunne modtage fra ca. august 2021.
Så vi er tidligt i gang - i dag er der mere end et år til vores løsninger skal i drift.
Netcompany har allerede en del snitflader tilgængelige, og dem kan Pilotmyndighederne og deres leveandører tilgå.
Jeg skriver i disse dage en del sammen med forskellige teknikere som kæmper med snitfladerne. Så jeg vil lige her samle forskellige informationer sammen i et snaphot - hvor langt er vi i Convergens, og hvad ved vi om at bruge snitfladerne?
Så det er ret teknisk.
Hvis du ikke er medlem af gruppen NgDP Pilotforløb på digitaliser.dk, så se at blive medlem. Hvis du er leverandør skal du have en af pilotmyndighedernt til at skrive til Digitaliseringsstyrelsen at de gerne vil have lukket dig ind.
Hvad kan Convergens lige nu
Vi kan aflevere Digital Post til snitfladerne - men går det godt?
Vi ved ikke om det går helt godt. Vi får 201 - OK.
Men som NgDP-platformen er bygget, så kan en Meddelelse jo godt blive afvist efter at platformen har gevet teknisk kvittering.
Vi - Convergens - har ikke et Forretningskvittering-endpoint, så vi kan ikke modtage en Forretningskvittering som er negativ.
Og efter min bedste overbevising så ville et Forretningskvittering-endpoint ikke hjælpe - lige nu - for sidst jeg spurgte til det var der ikke implementeret Forretningskvittering på NgDP-miljøet.
Vi kan slå en modtager op - med sikkerhed
Vi har med succes slået en test-virksomhed op, og har set data om denne test-virksomhed.
Vi kan modtage Digital Post - tror vi
For os er det vigtigste lige nu faktisk at modtage Digital Post. Så meningen med at sende Digital Post er at vi ønsker sende til os selv - derfor interessen for at sende.
Vi har et endpoint sat op - en REST service. Og vi mener at den er konstrueret som den skal være.
Hvis NgDP-platformen vælger at skrive MeMO-format XML til vores service, så vil Meddelelsen blive skrevet til vores integrationsplatform - CIS.
Vi har en åben Ticket hos Netcompany omkring at der ikke kommer noget ind på vores snitflade. Den blev oprettet mandag den 8/6-2020. Den hedder DPET-19 hvis du har brug for at henvise til den.
Flere tekniske detaljer
Adgang til snitfladerne
For at kunne komme til snitfladerne skal der ske en registrering af dit "system".
Og det er myndigheden der skal sørge for at NgDP-platformen kender dit system. Myndigheden kan bestille at der registreres et afsender-system eller et modtager-system, og at det har et givet OCES certifikat.
Denne bestilling er tidligere sket ved at myndighedens kontaktperson har sendt en email med et udfyldt Word-dokument og en vedhæftet kopi af OCES-certifikat (offentlig nøgle-del) til Netcompany.
Du kan - i pilotforløbet - ikke komme til snitfladerne med mindre en Pilot-myndighed sørger for at dit system er registreret.
Registreringen betyder iøvrigt også at der skal skrives en IP-adresse i Netcompanys firewall. Dit systems (offentlige på internettet) IP-adresse.
Certifikat
Det er vigtigt at man bruger et test OCES-certifikat når man skriver til NgDP-snitfladerne. Så et drift OCES-certifikat virker ikke.
Det er - heldigvis - noget som min gode kontakt Per har helt styr på. Så han har udstyret mig med sådan et certifikat.
Jeg citerer (med lidt redigering for at holde uskyldige udenfor) lige fra en email han har formuleret omkring det:
Ja, det er der ikke så mange der kender til – NemID-testmiljøet er en velbevaret hemmelighed som kan være svært at finde ind til 😊
Man kan logge ind i det her: https://erhverv.pp.certifikat.dk/
Men det kræver at man allerede har et såkaldt LRA-certifkat til testmiljøet. I den perfekte verden, så kan du henvende dig til den i myndigheden som står for teknikken omkring udstedelse af OCES medarbejdersignaturer etc., men det er ikke altid det er helt nemt og ikke sikkert at denne kender til eller har adgang til testmiljøet ☹
Det ser dog ud til at det er blevet sat lidt mere i system ift. at få adgang til testmiljøet:
https://www.nets.eu/dk-da/kundeservice/nemid-tjenesteudbyder/implementering/Pages/FAQ-for-udviklere.aspx
Min vurdering er, at dette alene kan komme til at tage en del tid at få styr på. I mange myndigheder er der en overbebyrdet person et sted som har alle de svære opgaver, som kræver tålmodighed, præcision og en god hukommelse. Ham skal man have audiens hos.
PostMan
Jeg bruger PostMan til mine eksperimenter.
Postman - noget om certifikat
Her er skærmbilleder fra min PostMan-opsætning.
Grundlæggende handler det om at du skal fortælle PostMan, at når jeg skyder REST af efter hostavnet XXX, så skal du huske at bruge certifikatet der ligger med denne sti og passphrase.
Jeg ved ikke om det er vigtigt i netop dette projekt, men ofte har man brug for at slå SSL certificate verification fra.
Her ser vi at jeg har konfigureret PostMan til at kende to hostnavne: kontaktregister.test.digitalpost.dk og distribution.test.digitalpost.dk. Og for hver af dem har jeg udpeget et OCES certifikat der skal med.
Det er iøvrigt den private udgave af OCES-certifikatet der skal bruges i PostMan. Altså den der har private key.
Hvis du er leverandør så skal du have certifikatet fra den myndighed du hjælper med projektet.
PostMan - opslag til bruger
Her er hvordan jeg får PostMan til at slå en modtager op.
URL: https://kontaktregister.test.digitalpost.dk/apis/v1/contacts/?cvrNumber=45152375
Hvis man i stedet for cvrNumber skriver cprNumber så slår man en borger op.
Test CPR- og CVR-numre skal du have hos din kontakt i Pilotmyndigheden. Nancy Ann Berggreen er ikke i testmiljøet.
Her er skærmdump fra et succesfuld kald.
Vigtig information som jeg har fået 17/6-2020. For at kunne sende til et CVR-nummer skal dette findes i Kontaktregisteret. Også hvis du sender til en Myndighed som er konfigureret med et Digital Post Modtagesystem.
PostMan - sende Meddelelse
Her ser vi på det at sende en Meddelelse.
Som det er lige nu så kan man kun sende med den model der går ud på at oprette en zip-fil, hvori der ligger 1-n filer med MeMO-xml i.
Skal du sende bare en enkelt Meddelelse, så er det en zip med én xmlfil.
Det at man skal bruge en zip-fil er ikke en permanent ting. Vi vil komme til at kunne sende XMLen i kroppen på en POST.
Jeg kalder filen memo.zip. Jeg husker det som om at mine eksperimenter viste at navnet skal være memo.zip.
Filerne inde i memo.zip skal have formatet "uuid" - ingen filendelse.
Eksempel:
Så jeg har en fil der hedder bf92b6a7-4579-40b4-b486-013c0f107d1e. Inde i denne er der MeMO-xml.
Filen pakker jeg ind i en fil som hedder memo.zip.
Her er indholde i bf92b6a7-4579-40b4-b486-013c0f107d1e. Læg mærke til at filnavnet og messageUUID er det samme.
I Postman gør jeg nu dette:
Bemærk - de 9 skjulte headers er nogen som PostMan genererer for mig. Så jeg sætter ingen manuelt.
Her er så selve kroppen. Pile de vigtige steder.
URL: Forward-slash sidst i URL. Ellers virker POST ikke.
Brug form-data.
Vælg at skrive "file" i key. Udpeg zip-filen. Jeg husker det som om at "type=application/zip i description var vigtigt - måske husker jeg forkert.
Hvis det med at udpege fil driller så se lige dette skærmbillede:
Du skal hover med musen ude til højre i key-feltet, så kan du se en drop-down hvor du så skal vælge "file". Godt gemt i PostMan.
Tryk Send og så skal du få sådan noget i Response headers - især location synes jeg er interessant:
Det du så bare skal vide er jo, at det at du får 201 ikke betyder at alt er godt.
Der kommer jo en - asynkron - validering af din pakke. Og det kan være at denne fejler. Og mens vi venter på Forretningskvitterin-muligheden så tror jeg faktisk ikke du kan få at vide om alt er godt.
Bearer token
Hvis et servicekald svarer noget, hvor der står nævnt et manglende bearer token, så er der sandsynligvis noget galt med dit certifikat. Jeg kan huske at jeg har haft det problem.
Sådan noget i stil med:
Det er ikke registreret i NgDP-platformen.
Det er ikke registreret med de rigtige rettigheder.