Gå till innehållet

Premium-API

Med API:et hämtar du dina resultat till egna instrumentpaneler, ditt publiceringsverktyg eller din CI-kedja. Du kan också beställa nya tester.

API:et ingår i Vanlig och Byrå. På Byrå fungerar varje användares nyckel mot samtliga webbplatser i portföljen.

Interaktiv dokumentation

API:et dokumenterar sig självt. Den fullständiga och alltid aktuella referensen finns som Swagger UI, där du kan prova anropen direkt i webbläsaren:

Specifikationen finns också som OpenAPI 3.0 (YAML, engelsk version) om du vill generera en klient.

Den här sidan är en översikt. Vid skillnad gäller alltid specifikationen.

Autentisering

Anropen autentiseras med en API-nyckel i rubriken api-key. Nyckeln skapar du själv på API-sidan i kontrollpanelen.

curl -H "api-key: $WEBPERF_KEY" https://api.webperf.se/0.1/stats/

Det finns tre nyckeltyper:

Typ Skickas som Används av
ApiKeyAuth Rubriken api-key Vanliga Premium-användare
AdminApiKey Rubriken api-key Webbyråer med förhöjd behörighet. Ansök via support@webperf.se
QueryApiKey Frågeparametern api-key Bakåtkompatibilitet, används av /webanalytics

Nyckeln avgör vilka webbplatser du når. Ett anrop mot /0.1/stats/ utan argument svarar med just den listan, vilket är enklaste sättet att kontrollera att nyckeln fungerar.

Endpunkter

Resultat

Anrop Beskrivning
GET /0.1/stats/ Lista de webbplatser nyckeln har åtkomst till
GET /0.1/stats/{siteId} Senaste resultatet för en webbplats
GET /0.1/stats_per_month/{siteId} Historiska resultat, månad för månad
GET /0.1/private_stats/{siteId} Senaste resultatet från privata tester
GET /private_stats/{siteId}/{testId} Ett enskilt privat testresultat
GET /categories/ Kategorierna på Webperf.se
GET /webanalytics Webbanalysstatistik. Nyckeln skickas här som frågeparameter

Beställa tester

Anrop Beskrivning
POST /retest/ Kör om testerna för en webbplats
POST /0.1/test_once/ Engångstest av enskilda adresser
POST /tools/lix/ Räkna ut läsbarhetsindex (LIX) för en text

Granskningar

Anrop Beskrivning
POST /audits/ Lista genomförda granskningar
POST /audit/ Beställ en ny granskning
GET, POST /audit_file/ Hämta en rapportfil ur en granskning

Kvot

Anrop Beskrivning
GET /quota/ Kvarvarande krediter i kontot

Kolla kvoten innan du beställer i en automatisering. Då slipper du misslyckade jobb när krediterna tar slut. Så fungerar kvoterna.

Öppna endpunkter

Dessa kräver ingen nyckel:

Anrop Beskrivning
GET /public-sector/ Alla kommuner och regioner
GET /item/{id} Uppgifter om en enskild webbplats
GET /v1/tests Testtyperna i Webperf Core, med namn på sv, en, da, no, fi och is
GET /v1/tests/{test_id} En enskild testtyp
GET /info Information om API:et
GET /health Hälsokontroll

/v1/tests är facit för testnamn

Bygger du något som visar testnamn för användare? Det kan vara en instrumentpanel, en rapport eller en integration. Hämta då namnen från /v1/tests i stället för att skriva av dem. Där är namnen på aktiva tester hämtade ordagrant från Webperf Core, och de finns på alla nordiska språk plus engelska.

En reservation. Beskrivningar, och namn på pensionerade tester på danska, norska, finska och isländska, är maskinöversatta från svenskan. Granska dem innan du använder dem skarpt. Det står också i meta-fältet i svaret.

Exempel

# Vilka webbplatser når min nyckel?
curl -H "api-key: $WEBPERF_KEY" https://api.webperf.se/0.1/stats/

# Senaste resultatet för webbplats 3843
curl -H "api-key: $WEBPERF_KEY" https://api.webperf.se/0.1/stats/3843

# Historik månad för månad
curl -H "api-key: $WEBPERF_KEY" https://api.webperf.se/0.1/stats_per_month/3843

# Hur mycket kvot har jag kvar?
curl -H "api-key: $WEBPERF_KEY" https://api.webperf.se/quota/

Webhookar

Vill du reagera när ett test blir klart i stället för att fråga med jämna mellanrum, använd en webhook. Adressen anger du på webbplatsens infosida i kontrollpanelen, med ett tröskelvärde om du bara vill få besked vid betygsfall.

En webhook per webbplats. Den mottagande adressen måste vara nåbar från internet.

Bra att veta

Nyckeln hör hemma på servern

Anropen autentiseras med enbart nyckeln. Det finns inget användarnamn och ingen andra faktor. Lägg den därför aldrig i klientkod. Proxa anropen via din egen backend och håll nyckeln där.

Detsamma gäller QueryApiKey: en nyckel i frågeparametern hamnar i serverloggar och i webbläsarens historik. Använd den bara där den krävs.

Se även