Filtransport
Tjänsten Filtransport låter dig ladda upp infiler och hämta resultatfiler för de aviseringstjänster du använder.
Kom-igång med tjänsten
Alla anrop till tjänsten kräver autentisering med klientcertifikat.
För testning bör du använda kundtestmiljön. I produktion nås tjänsten via adressen https://filtransport.statenspersonadressregister.se/v3.
En fullständig beskrivning av Filtransports JSON-baserade API finns länkad längst ner på sidan i form av en OpenAPI-specifikation. Den kan användas för att generera kod för enklare integration med SPAR i ditt valda programmeringsspråk.
Observera: Vanligtvis raderas en hämtad fil från SPAR efter 24 timmar. För att undvika sådan borttagning kan du bocka ur rutan "Rensas" i webbgränssnittet. Ytterligare information om filgallring finns på sidan Filer.
Nedan följer beskrivande exempel på anrop till Filtransport i kundtestmiljön via programmet cURL. Samma anrop kan göras till SPAR i produktion genom att byta ut adressen enligt ovan.
1. Ladda upp infil
För att ladda upp en fil till ett uppdrag knutet till din kundanvändare gör följande anrop:
curl --cert-type P12 --cert <sökväg till certifikat från Expisoft>:<pin-kod> \ -F "file=@personnummer.xml" \ https://test-filtransport.statenspersonadressregister.se/v3/infil/lamna/500243/1070/
där 500243 i sökvägen är ditt kundnummer, 1070 är uppdragsid:t och personnummer.xml är en fil med följande innehåll:
<?xml version="1.0" encoding="UTF-8"?>
<SPARInfilIdNummer
xmlns="http://statenspersonadressregister.se/schema/infilidnummer/infilidnummer-2023.1"
xmlns:infilid="http://statenspersonadressregister.se/schema/infilidnummer/infilidnummerkomponenter-2023.1">
<infilid:InfilIdNummer>195704133106</infilid:InfilIdNummer>
<infilid:InfilIdNummer>198007199295</infilid:InfilIdNummer>
<infilid:InfilIdNummer>197901249297</infilid:InfilIdNummer>
<infilid:InfilIdNummer>194812161596</infilid:InfilIdNummer>
</SPARInfilIdNummer>
Exempelsvar:
{
"meddelande": "Fil uppladdad",
"lamnadFil": "personnummer.xml",
"sparadSom": "Uppdrag_1070_2023-07-27T14.53.48_NSebi_SfQ_W6Llrlm+zoSg.xml",
"uuid": "52f2af9a-ca3a-482c-80ca-45ee43dd939b"
}
För att filuppladdningen ska fungera som förväntat bör detta POST-anrop inkludera följande HTTP-headers:
- "Content-Type: multipart/form-data"
- "Transfer-Encoding: chunked"
Av säkerhetsskäl krävs även att en TLS-omförhandling genomförs omedelbart efter etablerad anslutning till SPAR. Ett fåtal inkommande datapaket accepteras innan denna omförhandling skall vara genomförd och vid filöverföring kan detta fönster överskridas. Därför bör även HTTP-header "Expect: 100-continue" inkluderas i anropet om HTTP-klienten i din applikation inte automatiskt hanterar detta vid större filer.
2. Lista infiler
För att lista alla infiler du laddat upp för din kundanvändare gör följande anrop:
curl --cert-type P12 --cert <sökväg till certifikat från Expisoft>:<pin-kod> \ https://test-filtransport.statenspersonadressregister.se/v3/infil
Exempelsvar:
{
"infiler": [
{
"uppdragId": "1070",
"filnamn": "Uppdrag_1070_2023-09-27T18.59.19_Js4+eAe0T9axs4wJtpB1HQ.xml",
"status": "VALIDERAD",
"url": "/infil/Uppdrag_1070_2023-09-27T18.59.19_Js4+eAe0T9axs4wJtpB1HQ.xml",
"uppladdadFilNamn": "IdNummerInfil_2023_1_1070.xml",
"uppladdadDatum": "2023-09-27",
"antalFunna": 4
},
{
"uppdragId": "885",
"filnamn": "Uppdrag_885_inkorrekt.xml.zip",
"status": "INKORREKT",
"url": "/infil/Uppdrag_885_inkorrekt.xml.zip",
"uppladdadFilNamn": "Inkorrekt_Fil.xml",
"uppladdadDatum": "2017-02-27",
"felmeddelande": "Filens schemaversion (20160213) är inte kompatibel med den som angivits för uppdraget (20170225)."
}
]
}
Information om specifik infil
För att visa informationen om en specifik uppladdad infil kan du läsa ut sökvägen till den från attributet "url" i svaret på ovanstående anrop. Gör sedan följande anrop:
curl --cert-type P12 --cert <sökväg till certifikat från Expisoft>:<pin-kod> \ https://test-filtransport.statenspersonadressregister.se/v3/infil/Uppdrag_1070_2023-09-27T18.59.19_Js4+eAe0T9axs4wJtpB1HQ.xml
där den sista delen av sökvägen är det unika filnamnet som din uppladdade fil blivit tilldelad i SPAR.
Exempelsvar:
{
"infil": {
"uppdragId": "1070",
"filnamn": "Uppdrag_1070_2023-09-27T18.59.19_Js4+eAe0T9axs4wJtpB1HQ.xml",
"status": "VALIDERAD",
"uppladdadFilNamn": "IdNummerInfil_2023_1_1070.xml",
"uppladdadDatum": "2023-09-27",
"antalFunna": 4
},
"uuid": "8614f7cd-c2e4-4a58-9052-9f639cabb23d"
}
Information om avvikelser i specifik infil
Om din infil innehåller duplicerade personnummer, personnummer som inte finns i SPAR eller personnummer som markerats som avregistrerade kommer detta registreras som en avvikelse du kan hämta information om.
För att visa dessa detaljer gör följande anrop:
curl --cert-type P12 --cert <sökväg till certifikat från Expisoft>:<pin-kod> \ https://test-filtransport.statenspersonadressregister.se/v3/infil/avvikelse/Uppdrag_1070_2023-07-27T14.53.48_NSebi_SfQ_W6Llrlm+zoSg.xml
Exempelsvar:
{
"avvikelser": {
"saknas": {
"antal": 2,
"idNummer": [
190603065152,
190603066820
]
},
"avregistrerade": {
"antal": 1,
"idNummer": [
198604069883
]
},
"dubbletter": 2
},
"uuid": "da9b3828-44f5-4cd5-82fa-dad3523fea17"
}
3. Lista resultatfiler
För att lista alla resultatfiler du kan hämta för dina uppdrag gör följande anrop:
curl --cert-type P12 --cert <sökväg till certifikat från Expisoft>:<pin-kod> \ https://test-filtransport.statenspersonadressregister.se/v3/utfil
Exempelsvar:
{
"utfiler": [
{
"uppdragId": "1070",
"filnamn": "SPARAvisering_20230927192035_SPAR500243-1070.xml.zip",
"status": "NY",
"url": "/utfil/SPARAvisering_20230927192035_SPAR500243-1070.xml.zip",
"skapadDatum": "2023-09-27"
}
]
}
För att visa informationen om en specifik resultatfil kan du läsa ut sökvägen till den från attributet "url" i svaret på ovanstående anrop. Gör sedan följande anrop:
curl --cert-type P12 --cert <sökväg till certifikat från Expisoft>:<pin-kod> \ https://test-filtransport.statenspersonadressregister.se/v3/utfil/SPARAvisering_20230927192035_SPAR500243-1070.xml.zip
där den sista delen av sökvägen är det unika namnet på resultatfilen.
Exempelsvar:
{
"utfil": {
"uppdragId": "1070",
"filnamn": "SPARAvisering_20230927192035_SPAR500243-1070.xml.zip",
"status": "NY",
"skapadDatum": "2023-09-27"
},
"uuid": "3045318b-9414-40fc-a2da-62cc807e4b19"
}
4. Hämta resultatfil
För att hämta resultatfilen som producerats för ett av dina uppdrag gör följande anrop för att ladda ner filen till din dator med filnamnet "resultat.zip":
curl --cert-type P12 --cert <sökväg till certifikat från Expisoft>:<pin-kod> \ https://test-filtransport.statenspersonadressregister.se/v3/utfil/hämta/SPARAvisering_20230927192044_SPAR500243-1090.xml.zip > resultat.zip
där sista delen av sökvägen är filnamnet som du kan hämta genom att lista alla resultatfiler (se ovan) och läsa attributet "filnamn".
Observera: Resultatfilen kan innehålla noll aviseringsposter.