Huomioitavaa ohjelmistokehityksessä
- Ohjelmistotalo rakentaa rajapintoja käyttävään ohjelmistoon rajapintojen kuvauksissa (API-portaalissa) olevat syötetarkistukset ja loogiset riippuvuustarkistukset, jotta rajapinnoille lähetetty syöte on mahdollisimman laadukasta ja vältytään tarpeettomilta muototarkistuksiin liittyviltä virhetilanteilta. Ohjelmiston tulee esimerkiksi tarkistaa syötteen päivämäärät, jotka eivät saa olla menneisyydessä.
- Ohjelmistotalo vastaa ohjelmiston tietojen sekä kehittäjien yhteystietojen oikeellisuudesta API-portaalissa. Lisäksi ohjelmistotalon on ylläpidettävä varmenteisiin liittyviä yhteyshenkilöitä. Testivarmenteen yhteyshenkilöt ylläpidetään lähettämällä päivitetty testauksen aloitusilmoituslomake uusilla tiedoilla. Tuotantovarmenteen tietoja ylläpidetään Verohallinnon varmennepalvelussa.
- Verohallinto voi sulkea varmenteen tai ohjelmiston pääsyn rajapintapalveluihin, mikäli epäilee väärinkäytöstä tai hyökkäystä.
- Rajapinnat estävät tahallisten tai tahattomien ylikuormitustilanteiden mahdollisesti aiheuttamien palvelunestohyökkäyksien onnistumisen rajoittamalla asiakkailta saapuvaa liikennevolyymia. Suositus on, että yhteen rajapintaan lähetetään yhdestä sovelluksesta maksimissaan 50 - 125 yhtäaikaista kutsua.
- Rajapintoja kutsuvien ohjelmistojen tulee varautua ruuhkatilanteisiin, jolloin rajapinnat voivat vastata 429 – too many requests tai 403 forbidden. Ruuhkatilanteessa kutsujen yhtäaikaista määrää tulee vähentää ja yrittää myöhemmin uudelleen.
Virheiden käsittely
- Verohallinto seuraa rajapintojen käyttöä ja niissä esiintyviä virhetilanteita. Verohallinto voi olla yhteydessä ohjelmiston kehittäjään tai käyttäjään tarpeen mukaan virhetilanteiden selvittämiseksi.
- Ohjelmistoon tulee rakentaa asianmukainen Vero API-rajapintojen käytön valvonta, jotta virhetilanteet havaitaan ja niihin pystytään reagoimaan ohjelmistotalon tai ohjelmiston käyttäjän toimesta. Tyypillisimpiä virheitä ovat varmenteen vanheneminen, Suomi.fi valtuuden puuttuminen, virheellinen syöte tai yhteysongelmat.