Vad är API?
Programmeringsgränssnitt, dvs. API (Application Programming Interface), är dokumenterade gränssnitt som gör det möjligt för programvara, applikationer eller system att utbyta information eller funktioner sinsemellan. Programmeringsgränssnittet erbjuder information eller funktion i maskinläsbar, dokumenterad form så att någon annan programvara, applikation eller system kan utnyttja den programmässigt. Till exempel får reseplanerarappen information från kollektivtrafikens programmeringsgränssnitt om när bussen anländer till hållplatsen och visar informationen för användaren.
I denna verksamhetsmodell avses samma sak med API, programmeringsgränssnitt och det tekniska gränssnitt som definieras i informationshanteringslagen. Anmärkningsvärt är att programmeringsgränssnittet inte avser användargränssnitt avsedda för slutanvändare, utan programmeringsgränssnittet används alltid av någon annan programvara, applikation, applikationskomponent eller system.
Varför använda programmeringsgränssnitt för att dela information?
Att dela information via programmeringsgränssnitt är på många sätt lönsamt och nyttigt, i synnerhet om det finns mycket information och informationen uppdateras ofta eller i realtid, det vill säga att det är fråga om så kallade dynamiska data. Tågtidtabeller eller väderleksuppgifter är exempel på sådana data. Det är dock bra att komma ihåg att även fildelning är till nytta särskilt för de personer och aktörer som inte kan utnyttja programmeringsgränssnitt. Att dela filer kan också kräva mindre resurser av den som delar informationen än att skapa och upprätthålla ett nytt gränssnitt, om organisationen inte heller i övrigt använder gränssnitt.
Programmeringsgränssnittet kan vara ett webbaserat gränssnitt som grundar sig på fil- eller databasprotkoll eller andra protokoll och har genomförts med till exempel REST-, SOAP- eller GraphQL-teknik. Det väsentliga är att programmeringsgränssnittet erbjuder information i maskinläsbar, dokumenterad form så att någon annan programvara, applikation eller system kan utnyttja den programmässigt. Det är bra att tillhandahålla informationen via webbaserade gränssnitt, om det är möjligt och ändamålsenligt.
Webbaserade gränssnitt kan utnyttjas både i interna och externa gränssnitt och olika datasäkerhetskontroller kan genomföras i dem i stor utsträckning. Filformatet som ska delas beror på dataöverföringsprotokollet, i webbaserade gränssnitt utnyttjas till exempel i allmänhet HTTP-baserat dataöverföringsprotokoll eller -arkitektur, såsom REST. API-gränssnitten lämpar sig också väl för delning av statistikdata i databasform. Bekanta dig till exempel med materialet i Statistikcentralens öppna databasmaterial.
Det är viktigt att gränssnitten beaktas i organisationens övriga informationshantering och verksamhetsprocesser samt i målen för ledning genom information. Det väsentliga är att organisationen definierar vilka eller hurdana datamängder som erbjuds eller utnyttjas internt och externt via programmeringsgränssnitten, och vilka datamängder som borde tas i bruk via gränssnitten. Internt tillhandahållande och utnyttjande kan göras via interna gränssnitt (internt API). Externt tillhandahållande och utnyttjande kan göras med partnergränssnitt (partner API) eller offentliga gränssnitt (offentligt API) enligt klassificeringen av information. Observera att om informationen inte kan erbjudas som öppen information kan det krävas att Suomi.fi-informationsleden används för att dela informationen.
Vid planeringen och utvecklingen av programmeringsgränssnitt lönar det sig att utnyttja de nationella API-principerna. API-principerna för den offentliga förvaltningen erbjuder aktörer inom den offentliga förvaltningen stöd och anvisningar för utveckling, hantering och filformat för programmeringsgränssnitt. API-principerna stöder bland annat definition, ansvarsfördelning, främjande av interoperabilitet, upphandling, testning och implementering av programmeringsgränssnitt. I samband med planeringen av gränssnittet är det bland annat viktigt att fastställa hur förändringarna i gränssnittets livscykelplan eller servicenivå ska hanteras.
Tilläggsuppgifter och stödmaterial för att utveckling, hantering och filformat för programmeringsgränssnitt: