Startsida

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.