Testapi

Spelinspektionens Test-API för marknadsföring v1.1

Spelinspektionens Test-API för marknadsföring är ett REST-baserat API för kontroll av personnummer som är blockerade för spel. Via Test-API't kan en aktör testa att dess system kommer fungera med Spelinspektionens produktionstjänst.

Beskrivning

API:et har tre metoder (endpoints) beroende på om man vill fråga med ett enstaka personnummer, flera personnummer samtidigt eller med flera namn och adresser samtidigt.

Förändringar v1.1

Välj en av nedanstående tabbar för att se beskrivningen av motsvarande API

Marknadföringsfråga med ett enstaka personnummer

API:et anropas genom att skicka in ett JSON-objekt med requestId och subjectId via HTTP POST till https://.../api/marketing-single-subjectid/{actorId}.

  • requestId är ett id som kommer skickas med i svaret på anropet
  • subjectId är personnumret på personen som ska kontrolleras
  • actorId är ett unikt id som identifierar vilken licenshavare som anropar

Svaret på anropet är ett JSON-objekt med följande fält:

  • isBlocked anger om personen är blockerad från att spela
  • requestId är samma id som skickades in i anropet
  • responseId är ett unikt id för anropet genererat av Test-API't

Identifiering och Autentisering

Identifiering sker via att ange actorId i url-raden Autentisering sker genom att skicka med en API-nyckel i authorization-headern i API-anropet Actor-id för testsystemet finns listade nedan tillsammans med motsvarande API-nycklar

En request med felaktig autentisering besvaras med statuskod 401 (Unauthorized) En request med saknad requestId besvaras med statuskod 400 (Bad request)

Personnummer

subjectId anges med 12 tecken i formatet ÅÅÅÅMMDDXXXX Felaktig längd på subjectId besvaras med statuskod 400 (Bad request) Vid ett subjectId som är 12 tecken men inte är ett korrekt personnummer returneras status 200 och isBlocked sätts till false

Testanrop

Via powershell

Invoke-RestMethod -Method POST -Uri https://testapi.spelpaus.se/api/marketing-single-subjectid/22 -H @{ "accept" = "application/json"; "authorization" = "suPei2qGuxEVX0U5t8Xr5MHTbRWJrbKJLEZTPD21mLhSca0a7qGtnkvPyEEf"; "Content-Type" = "application/json" } -Body "{ 'requestId': '144x25', 'subjectId': '182701303378' }"

Via swagger-gränsnittet

  • Gå till url https://testapi.spelpaus.se/swagger
  • Klicka knappen authorize (Dialogruta öppnas)
  • Värdet för token ska in i rutan under value. Ange API-nyckel för företag 22: "suPei2qGuxEVX0U5t8Xr5MHTbRWJrbKJLEZTPD21mLhSca0a7qGtnkvPyEEf"
  • Klicka Autorize för att sätta aukoriseringsvärdet
  • Klicka Close för att stänga dialogrutan
  • Klicka på knappen "Post" under stycket "MarketingSingleSubjectId" (Ett nytt avsnitt öppnas)
  • Klicka på knappen "Try it out"
  • Ange 22 i rutan "Id för licenshavare"
  • I rutan för "BlockingInfoRequest" behöver json anges. Exempel nedan inklusive citattecken
{
    "requestId": "144x25",
    "subjectId": "182701303378"
}

"requestId" är valfritt id som ni kan använda för att t.ex. spåra en request. Det enda vi gör är att returnera detta Id i response. "subjectId" är personnumret som ska testas

  • Klicka den långa blå knappen där det står "Execute" Under "Server response", "Response body" ska det stå:
{
    "isBlocked": true,
    "requestId": "144x25",
    "responseId": "xxx"
}

(responseId är spelinspektionens id för transaktionen, så den varierar.)

Marknadföringsfråga med flera personnummer samtidigt

API:et anropas genom att skicka in ett JSON-objekt till https://.../api/marketing-subjectid/{actorId}.

Frågan ska innehålla requestId och en samling "items". Varje item består av itemId och subjectId

  • requestId är ett unikt id som kommer skickas med i svaret på anropet. Unika requestID:n ska användas för varje förfrågan för att underlätta eventuell felsökning
  • itemId är ett unikt id som sänds tillbaka via response till licenshavaren om personnumret är godkänt för marknadsföring
  • subjectId är personnumret på en person som ska kontrolleras
  • actorId är ett unikt id som identifierar vilken licenshavare som anropar

Maximalt antal "items" i samma fråga är 10000.

Svaret på anropet är ett JSON-objekt med följande fält:

  • requestId är samma id som skickades in i anropet
  • responseId är ett unikt id för anropet genererat av Test-API't
  • allowedItemIds är en lista med godkända idn som motsvarar itemId i frågan. Observera att listan innehåller de som är godkända, inte de som är blockerade.

Licenshavaren ansvarar för att personnumren är kopplade mot ItemId unikt. Personnummer returneras alltså inte i svaret.

Personnummer

Personnummer anges med 12 tecken i formatet ÅÅÅÅMMDDXXXX Felaktig längd på personnummer besvaras med statuskod 400 (Bad request) Vid ett subjectId som är 12 tecken men inte är ett korrekt personnummer inkluderas detta ItemId i svaret, dvs det är inte blockerat.

Testanrop

Via swagger-gränsnittet

  • Gå till url https://testapi.spelpaus.se/swagger
  • Klicka knappen authorize (Dialogruta öppnas)
  • Värdet för token ska in i rutan under value. Ange API-nyckel för företag 22: "suPei2qGuxEVX0U5t8Xr5MHTbRWJrbKJLEZTPD21mLhSca0a7qGtnkvPyEEf"
  • Klicka Autorize för att sätta aukoriseringsvärdet
  • Klicka Close för att stänga dialogrutan
  • Klicka på knappen "Post" under stycket "MarketingSubjectId" (Ett nytt avsnitt öppnas)
  • Klicka på knappen "Try it out"
  • Ange 22 i rutan "Id för licenshavare"
  • I rutan för "BlockingInfoRequest" behöver json anges. Exempel nedan inklusive citattecken
{
"requestId": "myRequestId",
"items": [
{
"itemId": "testsubject1",
"subjectId": "182701303378"
},
{
"itemId": "testsubject2",
"subjectId": "182701303379"
},
{
"itemId": "testsubject3",
"subjectId": "195201282232"
},
{
"itemId": "testsubject4",
"subjectId": "195201282233"
}
]
}

"requestId" är valfritt id som ni kan använda för att t.ex. spåra en request. Det enda vi gör är att returnera detta Id i response. "subjectId" är personnumren som ska testas. "itemId" är det värde som tjänsten returnerar om det är ok att marknadsföra mot den personen.

  • Klicka den långa blå knappen där det står "Execute" Under "Server response", "Response body" ska det stå:
{
"requestId": "myRequestId",
"allowedItemIds": [
"testsubject2",
"testsubject4"
],
"responseId": "xxxx"
}

(responseId är spelinspektionens id för transaktionen, så den varierar.) Svaret innebär i detta fall att systemet godkänner marknadsföring mot personnummer "182701303379" och "195201282233". Således är "182701303378" och "195201282232" spärrade för marknadsföring.

Marknadföringsfråga med flera namn och adresser samtidigt

API:et anropas genom att skicka in ett JSON-objekt till https://.../api/marketing-name-address/{actorId}.

Frågan ska innehålla requestId och en samling "items". Varje item består av itemId, firstName, middleName, lastName, address1, address2, postalCode och city

  • requestId är ett id som kommer skickas med i svaret på anropet
  • itemId är ett id som sänds tillbaka via response till licenshavaren om personen är godkänd för marknadsföring
  • firstName är förnamnet/-en på en person som ska kontrolleras
  • middleName är mellannamnet på en person som ska kontrolleras
  • lastName är efternamnet på en person som ska kontrolleras
  • address1 är adress rad 1 på en persons adress som ska kontrolleras
  • address2 är adress rad 2 på en persons adress som ska kontrolleras
  • postalCode är postnumret på en persons adress som ska kontrolleras
  • city är staden på en persons adress som ska kontrolleras
  • actorId är ett unikt id som identifierar vilken licenshavare som anropar.

Fältens värden skall vara formaterade efter de personuppgifter som finns i Skatteverkets folkbokföringsdatabas för att kunna matchas korrekt.
Adressuppgifterna följer adresstandarden SS 61 34 01. Detta innebär att vid endast en adressrad ska denna anges i address2.
Notera att andranamn (förnamn som inte är tilltalsnamn) ska anges tillsammans med tilltalsnamn i firstName och inte i middleName.

Maximalt antal "items" i samma fråga är 10000.

Svaret på anropet är ett JSON-objekt med följande fält:

  • requestId är samma id som skickades in i anropet
  • responseId är ett unikt id för anropet genererat av Test-API't
  • allowedItemIds är en lista med godkända idn som motsvarar itemId i frågan. Observera att listan innehåller de som är godkända, inte de som är blockerade.

Licenshavaren ansvarar för att personnumren är kopplade mot ItemId unikt. Personnummer returneras alltså inte i svaret.

Testanrop

Via swagger-gränsnittet

  • Gå till url https://testapi.spelpaus.se/swagger
  • Klicka knappen authorize (Dialogruta öppnas)
  • Värdet för token ska in i rutan under value. Ange API-nyckel för företag 22: "suPei2qGuxEVX0U5t8Xr5MHTbRWJrbKJLEZTPD21mLhSca0a7qGtnkvPyEEf"
  • Klicka Autorize för att sätta aukoriseringsvärdet
  • Klicka Close för att stänga dialogrutan
  • Klicka på knappen "Post" under stycket "MarketingNameAddress" (Ett nytt avsnitt öppnas)
  • Klicka på knappen "Try it out"
  • Ange 22 i rutan "Id för licenshavare"
  • I rutan för "BlockingInfoRequest" behöver json anges. Exempel nedan inklusive citattecken
{
    "requestId": "myRequestId",
    "items": [
        {
            "itemId": "testsubject1",
            "firstName": "Olof Magnus Lars",
            "middleName": "",
            "lastName": "Forsström",
            "address1": "",
            "address2": "Trädgatan 12",
            "postalCode": "59291",
            "city": "VADSTENA"
        },
        {
            "itemId": "testsubject2",
            "firstName": "Gunnar Erik",
            "middleName": "Andersson",
            "lastName": "Svensson",
            "address1": "",
            "address2": "Kviststigen 37",
            "postalCode": "57293",
            "city": "NYKÖPING"
        }
    ]
}

"requestId" är valfritt id som ni kan använda för att t.ex. spåra en request. Det enda vi gör är att returnera detta Id i response. "itemId" är det värde som tjänsten returnerar om det är ok att marknadsföra mot den personen. "övriga fält" information gällande fältlängder för adressuppgifterna finns publicerad på https://testapi.spelpaus.se/swagger under rubriken "Models".

  • Klicka den långa blå knappen där det står "Execute" Under "Server response", "Response body" ska det stå:
{
    "requestId": "myRequestId",
    "allowedItemIds": [
        "testsubject2"
    ],
    "responseId": "0b80f098e2ad4f48a6616202cfef7172"
}

(responseId är spelinspektionens id för transaktionen, så den varierar.) Svaret innebär i detta fall att systemet godkänner marknadsföring mot personen med förnamn "Gunnar Erik". Således är personen med förnamn "Olof Magnus Lars" spärrad för marknadsföring.

Swagger

En teknisk API-specifikation finns publicerad på https://testapi.spelpaus.se/swagger.

Testdata

API-nycklar

Företag ActorId API-nyckel
Casíno höghuset 20 rxCzrck6ggsJPbb5YGdKLFs1LJmaMWPkKM3YJnl3vX6iakjArIhW6noOOzZH
TigerVegas 21 4r70tJMR4JOWtfr1creX3rHWsbqQydsuj5kAPW009EerStdFxJONfmZSuCAm
Svens Spel 22 suPei2qGuxEVX0U5t8Xr5MHTbRWJrbKJLEZTPD21mLhSca0a7qGtnkvPyEEf
GTA 23 9GkTRpPVVqnpxonfXOooAZ5sSr3u6OpwyUB2xJPlCY73dJ8Fphh5TFf9OayW

Personuppgifter för spärrade testpersoner

Testsystemet innehåller ett antal fingerade personer. Personnnumren är testpersonnummer som inte tillhör någon faktisk person. Personuppgifterna kan hämtas som json eller formatterad html.