Moderni liiketoiminta rakentuu erilaisten järjestelmäkokonaisuuksien päälle. WordPress ja WooCommerce tarjoavat erilaisiin tarpeisiin muokattavissa olevat lähtökohdat verkkonäkyvyydelle ja -kaupalle. Paras hyöty liiketoiminnalle saadaan integroimalla ne saumattomaksi osaksi yrityksen muita keskeisiä järjestelmiä. Näitä ovat esimerkiksi myynninhallinta- (CRM), toiminnanohjaus- (ERP) tai tuotetiedonhallintajärjestelmät (PIM).
Avaamme tässä vieraskynäartikkelissa integraatioiden hyötyjä, tyypillisiä integraatioita ja niiden toimintamalleja sekä integraatioiden toteuttamisessa huomioitavia asioita.
Tavoitteena on tarjota kattava tietopaketti kaikille, jotka miettivät olisiko integraation toteuttaminen kannattavaa, tai ovat jo tunnistaneet tarpeen ja miettivät miten edetä.
Artikkeli sisältää integraatioihin liittyvää teknistä terminologiaa ja lyhenteitä. Kirjoituksen lopusta löydät termit avattuina, jos niiden merkitykset eivät ole ennestään tuttuja.
Mitä integraatio ylipäätään tarkoittaa?
Integraatio on kahden tai useamman eri järjestelmän liittämistä toisiinsa tiedon automaattista ja järjestelmällistä siirtämistä sekä synkronointia varten.
Integraatio pitää huolen siitä, että tarvittava tieto löytyy oikeasta järjestelmästä silloin, kun sitä tarvitaan ilman manuaalista käsityötä.
Tietoa voidaan päivittää järjestelmien välillä joko synkronisesti (reaaliaikaisesti jonkin tapahtuman yhteydessä) tai asynkronisesti (määrätyin väliajoin tai viiveellä). Paras lähestymistapa riippuu aina tilanteesta, tarpeesta ja alustojen teknisistä rajoitteista.
Integraation toteuttaminen edellyttää aina, että molemmat järjestelmät ovat integroitavissa. Käytännössä WordPressin kanssa integroitavasta järjestelmästä täytyy löytyä jonkinlainen rajapinta (API). Rajapintojen olemassaolo ja niiden käytön hinnoittelu kannattaa selvittää jo järjestelmän valintavaiheessa, vaikkei integraatiota olisikaan heti suunnitteilla.
Mitä hyötyä integraatioista on?
Integraatioiden päätavoite on poistaa manuaaliset työvaiheet, vähentää inhimillisten virheiden mahdollisuutta ja varmistaa, että olennainen tieto on aina ajantasaista ja yhdenmukaista kaikissa sitä tarvitsevissa järjestelmissä.
Sen sijaan, että siirrät tietoa ”käsipelillä” järjestelmästä toiseen, integraatio hoitaa sen puolestasi – nopeasti, tarkasti ja automaattisesti.
- Tehokkuus ja ajansäästö
Automaatio vapauttaa aikaa rutiininomaisista tiedonsiirroista tärkeämpiin ja tuottavampiin tehtäviin. Tämä parantaa koko organisaation tehokkuutta. - Virheiden väheneminen
Manuaalinen tiedonsiirto on altis virheille. Integraatio minimoi inhimillisen erehdyksen riskin, mikä johtaa tarkempaan dataan ja vähentää virheistä aiheutuvia kustannuksia. - Reaaliaikainen tai lähes reaaliaikainen tieto
Erityisesti verkkokaupassa ajantasainen tieto on kriittistä. Integraatiot voivat varmistaa, että esimerkiksi varastosaldot ja hinnat ovat aina ajan tasalla, mikä estää myymästä loppuneita tuotteita ja parantaa asiakaskokemusta. - Parempi asiakaskokemus
Nopeat ja virheettömät prosessit (esim. tilauksen käsittely) sekä ajantasainen tieto verkkokaupassa parantavat suoraan asiakastyytyväisyyttä. - Skaalautuvuus
Kun liiketoiminta kasvaa, manuaaliset prosessit muuttuvat pullonkaulaksi. Automaattiset integraatiot skaalautuvat helpommin volyymin kasvaessa, mahdollistaen kasvun ilman suhteetonta resurssien lisäystä. - Yhtenäinen data ja parempi päätöksenteko
Kun data liikkuu automaattisesti eri järjestelmien välillä, kokonaiskuva liiketoiminnasta on selkeämpi ja perustuu tarkempaan tietoon. Tämä mahdollistaa paremman ja nopeamman päätöksenteon.
Tyypillisimmät integraatiotyypit WordPressissä & WooCommercessa
WordPressin ja WooCommercen vahvuus moniin muihin sisällönhallintajärjestelmiin ja verkkokauppa-alustoihin verrattuna on kustomoinnissa.
Yritysten käyttämät muut järjestelmät vaihtelevat suuresti, joten erilaisten integraatioiden määrä on lähes rajaton.
Tyypillisesti integraatiot voidaan kuitenkin jakaa karkeasti muutamaan eri pääkategoriaan. Samalla sivustolla voi olla useampia erityyppisiä integraatioita samaan aikaan ja ne saattavat olla sidoksissa toisiinsa.
1. Lomakkeiden integrointi CRM- tai ERP-järjestelmään
Kun kävijä täyttää yhteydenottolomakkeen, tarjouspyynnön tai muun lomakkeen sivustollasi, tiedot siirtyvät automaattisesti suoraan myynninhallinta- (CRM) tai toiminnanohjausjärjestelmääsi (ERP).
Hyöty: Liidien käsittely nopeutuu merkittävästi ja riski, että liidit putoavat prosessissa, pienenee.
Haastavuus: Vaihtelee yksinkertaisesta keskitasoon.
Esimerkkejä: HubSpot, Active Campaign, Pipedrive, Salesforce, Zoho, Easoft, Leaddesk
CRM-järjestelmän käyttöönotolla ja suoralla integraatiolla yhteydenottojen jakaminen yrityksen henkilöstölle onnistuu suoraan käyttäjän lomakevastausten perusteella, ja ne tulevat varmemmin käsitellyksi kuin sähköpostiin perustuvassa prosessissa.
Joissain tapauksissa lomakkeet voidaan yhdistää suoraan tuotevalikoimaan tai työnohjaukseen, jolloin yhteydenottojen jatkokäsittely nopeutuu entisestään.
2. Sisältöjen haku toiselta sivustolta
Blogiartikkelit, uutiset, tapahtumat tai vaikkapa tuoreimmat referenssit tuodaan automaattisesti ja säännöllisesti toisesta lähteestä omalle WP-sivustollesi.
Hyöty: Sivuston sisältö pysyy ajan tasalla.
Haastavuus: Yksinkertainen
Esimerkkejä: WordPress, RSS, REST API
Varsinkin isommilla organisaatioilla saattaa olla useampia eri sivustoja ja niiden sisältöjä voi olla relevanttia näyttää ristiin. WordPress tarjoaa artikkeleille sisäänrakennetun RSS-feedin, jonka perusteella on helppoa automatisoida sisältöjen haku toiselle sivustolle.
Toinen tyypillinen käyttötapaus on tapahtumia järjestävä yritys, joka käyttää erillistä järjestelmää tapahtumien hallintaan. Näin voidaan helpommin markkinoida eri tapahtumia omalla sivustolla.
Integraatiot itsessään ovat tyypillisesti yksinkertaisia, mutta esimerkiksi tapahtumien esittämiseen voi liittyä filtteröintiä, tyylittelyä ja päätöksiä esimerkiksi useamman päivän kestävän tapahtuman ajankohdan esitystavasta.
3. Tuotteiden haku PIM- tai ERP-järjestelmästä verkkokauppaan
Tuotetiedot, kuvat, kuvaukset, tekniset tiedot ja kategoriat tuodaan keskitetystä tuotetiedonhallintajärjestelmästä (PIM) tai toiminnanohjausjärjestelmästä (ERP) suoraan WooCommerce-verkkokauppaan.
Hyöty: Tuotetiedon ylläpito helpottuu, tiedot ovat yhdenmukaisia kaikissa kanavissa ja ylimyynnin riski vähenee.
Haastavuus: Keskitaso
Esimerkkejä: Netvisor, Rackbeat, Websales, Merx, Adeona
Tuotteiden tuonti verkkokauppaan on yksi eniten aikaa säästävistä ja verkkokaupan datan laatua parantavista integraatioista varsinkin, jos tuotevalikoima on laaja.
Esimerkiksi varaosia myyvillä verkkokaupoilla integraatio on käytännössä ainoa realistinen vaihtoehto tuoda kymmeniätuhansia tai jopa satojatuhansia tuotteita verkkokauppaan.
Tyypillisesti tuoteintegraatiot tehdään yksisuuntaisena niin, että tiedot tuodaan verkkokauppaan PIM / ERP -järjestelmästä. Tarvittaessa niitä voidaan tuonnin jälkeen rikastaa verkkokaupassa esimerkiksi lisäämällä tuotekuvia tai tuotetekstejä, jos käytössä oleva järjestelmä ei esimerkiksi tue tekstin muotoilua tai videoupotuksia.
Erityisesti laajemmalla tuotevalikoimalla voi olla relevanttia toteuttaa erikseen tuotteiden perustietojen tuonti sekä saldo- ja hintapäivitykset.
Varsinkin, mikäli tuotesaldojen ajantasaisuus on kriittistä, eikä käytössä olevasta järjestelmästä saada reaaliaikaisesti tietoa tuotteiden päivittymisestä. Tällöin voidaan tuotetiedot päivittää kerran yössä, mutta saldoja ja hintoja vaikka vartin välein.
Jotkin järjestelmät saattavat tarjota valmista integraatiota WooCommerceen. Näihin voi olla syytä suhtautua pienellä varauksella ja testata integraation toimivuutta etukäteen varsinkin, jos on tekemässä järjestelmävalintaa valmiin integraation perusteella ja käytössä on muunnelmatuotteita, kuten vaatteita kokoineen ja väritietoineen.
Kannattaa myös selvittää mahdollisuuksia kustomoida WooCommercea niin, ettei erillistä järjestelmää tarvita ollenkaan.
4. Tilausten logistiikkaintegraatio
Tilaustiedot siirtyvät automaattisesti toiminnanohjausjärjestelmään tai esim. logistiikkayritykselle käsiteltäväksi. Kun tilaus on käsitelty, päivitetään sen tila verkkokaupassa ja asiakasta informoidaan muutoksesta.
Hyöty: Tilausprosessin nopeus ja virheettömyys paranevat dramaattisesti. Manuaalista tiedonsiirtoa ei tarvita.
Haastavuus: Vaihtelee yksinkertaisesta keskitasoon.
Esimerkkejä: Microsoft Dynamics, Posti Glue, REST API
WooCommerce tarjoaa erityisesti pienimuotoiseen toimintaan riittävät työkalut tilausten käsittelyyn, mutta jos volyymit ovat suuria, käytössä on ulkoistettu logistiikka tai tilausten käsittelyyn liittyy työvaiheita, kuten kustomointia, erillinen järjestelmä voi olla välttämätön.
Näissä tapauksissa tilausten reaaliaikainen integrointi korostuu ja voi olla jopa edellytys prosessien toimivuudelle.
Joissain tapauksissa logistiikkayhtiö on saattanut toteuttaa valmiin integraation hyödyntäen WooCommercen rajapintaa tai webhookkeja. Tällöin oman erillisen integraation toteuttamiselle ei ole tarvetta.
5. Tilausten varastointegraatio (ERP / PIM / Kassa)
Tilaukset vähentävät automaattisesti saldoja ulkoisesta järjestelmästä.
Hyöty: Ajantasaiset tuotesaldot eri järjestelmissä ja kivijalassa
Haastavuus: Keskitaso
Esimerkkejä: Confirma POS / Jeemly, Solteq Tekso, Solteq Merx, Visma Rackbeat
Joissain tapauksissa voi tilausten vienti erilliseen järjestelmään olla tarpeen saldotilanteen ylläpitämiseksi, vaikka tilaukset käsiteltäisiin WooCommercessa.
Kun erillinen järjestelmä ylläpitää tuotesaldoja, on hyvin tyypillinen lähestymistapa se, että tuotesaldot haetaan yksisuuntaisesti WooCommerceen ja tilaukset yksisuuntaisesti WooCommercesta ulos. Tällöin tilaukset vähentävät saldoja ulkoisessa järjestelmässä ja tieto valuu takaisin verkkokauppaan tuoteintegraation kautta.
Lähtökohtaisesti WooCommercen varastonhallinta vähentää tuotteen saldoa myynnin yhteydessä, jolloin ylimyynnin riski pienenee, vaikka saldojen päivityksissä olisi pientä viivettä. Vastaava logiikka toimii hyvin myös kivijalan kassajärjestelmien kanssa.
Tilausdatan formaatti saattaa vaihdella järjestelmien välillä reilustikin ja esimerkiksi verojen, alennusten ja toimituskulujen käsittelyssä voi olla huomattavia eroja. Erilaiset pyöristyskäytännöt saattavat aiheuttaa ongelmia verottomien ja verollisten summien välillä eri järjestelmissä.
6. Laskutusintegraatio
Tilauksen perusteella luodaan automaattisesti lasku, joka voidaan tapauskohtaisesti lähettää automaattisesti ja seurata sen tilaa.
Hyöty: Tilausten käsittely ja erityisesti laskujen lähetys nopeutuu ja se näkyy kassavirrassa.
Haastavuus: Keskitaso
Esimerkkejä: Netvisor, Fennoa, Procountor, KTI Laskutus
Erityisesti B2B-kaupassa on tyypillistä, että laskutus hoidetaan esimerkiksi Netvisorin tai Procountorin kautta, jolloin laskut saadaan suoraan kirjanpitoon. Tällöin tilauksesta muodostetaan esim. Finvoice-standardin mukainen lasku tai käytetään laskutusohjelmiston rajapintaa muuten.
Laskutusohjelmisto hoitaa tyypillisesti viitemaksujen seurannan pankista, muistutukset ja muut laskutukseen liittyvät prosessit. Tarvittaessa laskun tilaa voidaan kuitenkin seurata rajapinnan kautta ja päivittää tilauksen status maksetuksi myös WooCommercessa. Tämä on erityisen relevanttia silloin, jos tilaus käsitellään vasta maksun jälkeen ja käsittely hoidetaan WooCommercen puolella.
Pienimuotoisessa toiminnassa voidaan laskutus hoitaa myös niin, että tilausten yhteydessä lähetetään maksuohjeet ja käytetään esimerkiksi tilausnumeroa viitenumerona. Tällöin maksujen seuranta ja tilausten vienti kirjanpitoon tapahtuu erikseen, ja vaatii käsityötä mutta voi pienillä tilausmäärillä olla ok.
7. Asiakasdatan rikastaminen
Tilaukset viedään erilliseen asiakasjärjestelmään (CRM / CDP), josta näkyy keskitetysti asiakashistoria.
Hyöty: Mahdollistaa markkinoinnin tehokkaamman kohdentamisen ja parantaa asiakasymmärrystä.
Haastavuus: Keskitaso
Esimerkkejä: Active Campaign, Klaviyo, Mailchimp
Tilausten ja asiakastietojen vienti CRM:ään voi olla relevanttia myös silloin, kun tilaukset käsitellään WooCommercessa eikä tuotesaldoja tarvitse integroida.
Tähän liittyen monissa kaupoissa on käytössä jokin uutiskirjetyökalu, kuten Klaviyo tai Mailchimp, jotka tarjoavat valmiin integraation ja mahdollistavat asiakkaiden segmentoinnin ja uudelleenmarkkinoinnin tilausdatan perusteella.
Jos asiakastietoja viedään järjestelmiin markkinointitarkoituksessa, on tärkeää muistaa pyytää asiakkaalta tarvittavat markkinointiluvat.
8. Käyttäjä- ja kirjautumisintegraatiot
Käyttäjätiedot (esim. asiakas- tai jäsentiedot) synkronoituvat WooCommerce-tilien ja ulkoisen jäsenrekisterin tai CRM:n välillä. Kirjautuminen voidaan toteuttaa keskitetysti (Single Sign-On).
Hyöty: Yhtenäinen ja ajantasainen käyttäjätieto kaikissa järjestelmissä. Jäsenyyksien tai asiakkuuksien hallinta helpottuu.
Haastavuus: Vaihtelee keskitasosta haastavaan
Esimerkkejä: WordPress, Google, Microsoft, Telia Sign, Kilta-jäsenrekisteri, Membra
Verkkokaupoissa käyttäjä- / kirjautumisintegraatiot ovat hieman harvinaisempia, mutta muutamia tyypillisiä käyttötapauksia voi olla B2B-kaupan asiakaskohtaiset hinnoittelut tai jäsenyyksien myynti, joihin liittyy pääsyoikeuksia muihin järjestelmiin.
WordPress mahdollistaa kirjautumisintegraatiot molempiin suuntiin, eli WordPressiin kirjautuminen ulkoisen järjestelmän tiedoilla tai ulkoiseen järjestelmään kirjautuminen WP-tunnuksilla. Kirjautuminen WordPressiin on mahdollista toteuttaa myös anonyymisti luomalla tilapäinen käyttäjä, jolloin henkilötietoja ei tarvitse tallettaa sivustolle ollenkaan.
WordPressiin löytyy myös useita valmiita toteutuksia, joilla saadaan käyttöön keskitetty kirjautumisenhallinta (SSO) esimerkiksi Microsoft- tai Google-tunnuksilla yrityksen työntekijöille tai asiakkaille.
Esimerkkejä erilaisista integraatioiden mahdollistamista toteutuksista
CASE 1: Kurssiverkkokauppa yhdistettynä ERP-järjestelmään
Yksi mielenkiintoisimpia kirjautumisintegraatioita on ollut verkkokaupan tilausprosessin integroiminen asiakkaan omaan toiminnanohjausjärjestelmään OAuth 2.0 -pohjaisen kirjautumisrajapinnan kautta ja tietojen haku OpenID Connect (OIDC) -protokollan avulla.
OAuth mahdollistaa kirjautumisen ulkoiseen järjestelmään ilman tunnusten luovuttamista ulkoiseen järjestelmään. OIDC tuo tähän lisäksi mahdollisuuden jakaa valikoituja käyttäjätietoja ulkoiselle järjestelmälle.
Verkkokaupan kautta tarjotaan koulutuksia niin, että henkilöstöllä on mahdollisuus ilmoittautua maksutta kirjautumalla omilla tunnuksilla. Käytännössä kassalle on lisätty maksutapa, jonka valitsemalla käyttäjä ohjataan kirjautumaan ja onnistunut kirjautuminen vertautuu onnistuneeseen maksuun. Samalla haetaan tilaukselle käyttäjän sähköposti ja nimitiedot, jotta verkkokaupan puolella saadaan ylläpidettyä keskitetysti osallistumistietoja.
Osa yrityksen sisäisistä kursseista on rajattu työntekijöiden kirjautumisen taakse. Kirjautumisen yhteydessä käyttäjälle luodaan väliaikainen WordPress-käyttäjä ilman henkilötietoja.
Henkilöstön tekemistä tilauksista luodaan myös työvuoro tuoteasetuksiin lisättyjen aikatietojen perusteella, millä ehkäistään päällekkäisiä vuoroja. Jos kurssi menee jo olemassa olevan työvuoron kanssa päällekkäin, järjestelmä lähettää esihenkilölle ilmoituksen.
CASE 2: Ajoneuvotietojen haku sekä liidien ja varausmaksujen vienti
Autoliikkeiden valikoiman ajantasaisuus on tärkeää ja muutoksia tulee päivän mittaan jatkuvasti. Tyypillisesti valikoima on myös julkaistu useilla eri alustoilla ja ajoneuvoihin liittyy paljon yksityiskohtaisia tietoja, eli integraatiot ovat ainut realistinen tapa ylläpitää ajantasaista ja kattavaa tietoa eri järjestelmissä.
Tuoteintegraatio toteutettiin hakemalla rajapinnasta erillisellä rajapintakutsulla kaikki julkiset ajoneuvot JSON-muodossa. Tämä säännöllisesti päivittyvä JSON-tiedosto ajetaan WooCommerce-tuotteiksi käyttämällä WP All Import -lisäosaa, joka nopeuttaa erilaisten kenttien ja ominaisuuksien linkitystä lähtödatan ja WooCommercen välillä. Se osaa myös automaattisesti hakea muun muassa tuotekuvat datasta löytyvien linkkien takaa.
Päivitystiheyden nopeuttamiseksi tuontia optimoitiin muun muassa niin, että vain muuttuneet tiedot käydään läpi. Esimerkiksi kuvien osalta monissa järjestelmissä on haasteena se, että kuvien tiedostonimet eivät muutu, vaikka itse kuvatiedosto vaihtuisikin, vaan kuvan päivittyminen pitää päätellä erillisestä aikaleimasta.
Tuotteiden tuonti myös lähtee liikkeelle säännöllisen CRON-ajon lisäksi aina, kun edellinen tuonti päättyy. Käytännössä se pyörii siis jatkuvasti taustalla ja haistelee tuotetietojen päivittymistä.
Tuotetietojen haun lisäksi sivustolta tulevat yhteydenotot ohjataan myyntijärjestelmään niin, että ajoneuvokohtaiset yhteydenotot yhdistyvät automaattisesti oikeaan ajoneuvoon ja mukana kulkee esimerkiksi vaihdossa tarjottavan ajoneuvon tiedot.
Myöhemmin otettiin käyttöön mahdollisuus suorittaa ajoneuvojen varausmaksu sivuston kautta WooCommercen ja valmiin Paytrail-integraation avulla.
CASE 3: Tuotteiden haku ja kustomoitujen tuotepakettien vienti
Laaja tuotevalikoima haetaan PIM-järjestelmästä SOAP-rajapinnan kautta kerran vuorokaudessa ja tilaukset viedään rajapintaan reaaliaikaisesti.
Mielenkiintoisen integraatiosta teki verkkokaupan puolella rakennetut tuotepaketit, joissa oli yhdistetty erilaisia tuotteita ja tuotemääriä edullisemmaksi kokonaisuudeksi. Tuotehallintajärjestelmä asetti rajoituksia ja myyntiraportit haluttiin pitää tarkkana, mikä tarkoitti pakettialennusten jyvittämistä paketin eri tuotteille.
Integraatioiden toteutustavat
Integraatioiden toteuttamiseen on muutamia eri lähestymistapoja, aina kaikkea ei tarvitse koodata alusta asti. Joskus parhaan lähestymistavan arvioiminen etukäteen voi olla haastavaa, mutta kaikista löytyy hyvät ja huonot puolensa.
Integraatioalustat (Zapier & Make)
Joissain tapauksissa integraation toteuttamiseen ei välttämättä tarvita koodia ollenkaan. Jos integroitava järjestelmä on suosittu, siihen saattaa löytyä valmis integraatio joltain integraatioalustalta. Käytännössä alustoista löytyy valmiita rajapintaintegraatioita erilaisiin järjestelmiin ja ne mahdollistavat rakenteellisen tiedon välittämisen järjestelmästä toiseen.
Valmiin palvelun käyttö voi olla relevanttia erityisesti silloin kun siirrettävät määrät ovat pieniä ja kyse on suositusta palvelusta, esimerkiksi tilaustietojen vienti Google Sheetsiin. Integraation saa parhaimmillaan pystyyn muutamassa tunnissa ja se toimii suhteellisen luotettavasti. Alustoissa löytyy yleensä hyvä lokitus ja virheiden hallinta.
Isommilla datamäärillä palveluiden juoksevat kustannukset alkavat kasvaa ja varsinkin monimutkaisempia integraatioita toteuttaessa kokenut koodari saattaa tehdä saman asian koodilla jopa tehokkaammin. Kaikissa tapauksissa ei ole myöskään mahdollista käyttää reaaliaikaista integraatiota, jolloin on pakko käyttää säännöllistä hakua, joka on hitaampi ja kasvattaa kustannuksia.
Pitää myös huomioida, että data kiertää kolmannen osapuolen palvelimien kautta ja palvelu saattaa pyöriä myös EU:n ulkopuolella eli alustojen käyttö voi olla tietosuojan kannalta ongelmallista.
Zapierin ja Make.com kaltaisten “jokamiehen” alustojen lisäksi löytyy myös vaativampaan käyttöön soveltuvia “iPaaS” -palveluntarjoajia. Integraatiot toteutetaan lähtökohtaisesti koodilla, mutta alusta tarjoaa työkaluja integraatioiden toiminnan seuraamiseen ja erityisesti laajempien kokonaisuuksien hallintaan. Alustan käyttö mahdollistaa helpommin esimerkiksi eri asiantuntijoiden käytön integraation eri osa-alueisiin.
Valmisintegraatiot
WordPressiin ja WooCommerceen löytyy pitkä lista valmiita integraatioita, jotka esimerkiksi järjestelmätoimittaja, lomakelisäosan kehittäjä tai jokin muu kolmas osapuoli ovat saattaneet toteuttaa.
Valmisintegraatio on lähtökohtaisesti paras vaihtoehto silloin, kun integraation toimintalogiikka on selkeä, järjestelmä on suosittu ja integraatio on ollut laajalti käytössä jo pidempään.
Vastaan on tullut paljon valmisintegraatioita, joiden toimintalogiikka on hyvin rajattua, ne eivät toimi luotettavasti tai ovat pidemmän päälle kalliita.
Toisaalta parhaimmillaan maksuttoman integraation käyttöönotto onnistuu minuuteissa, eikä sitä tarvitse sen jälkeen miettiä vuosiin. Kannattaa siis aina selvittää, mitä on tarjolla!
Tuonti & vienti -lisäosat
Monia integraation toteutuksen työvaiheita pystytään helpottamaan käyttämällä osana prosessia esimerkiksi WP All Import & Export -lisäosien kaltaisia työkaluja, jotka tukevat laajasti erilaisia sisältötyyppejä ja hoitavat paljon ehdollista logiikkaa tuonnin aikana. Esimerkiksi tuotteiden tuonnissa hoituu ominaisuuksien ja kategorioiden automaattinen lisäys sekä kuvien tuonti suoraan.
Lähtödatan tietojen yhdistäminen tuotekenttiin onnistuu helposti ja tarvittaessa tietoja tai logiikkaa voidaan muokata koodilla.
Lisäosa hoitaa monissa tilanteissa myös muunnelmatuotteiden luonnin suhteellisen helposti.
Lisäosan käyttö nopeuttaa monesti prosessia ja laskee sitä kautta kustannuksia. Se kuitenkin asettaa rajoitteita lähtödatan rakenteelle ja laadulle. Joissain tilanteissa myös suorituskyky voi tulla esteeksi, jos päivitetään suuria määriä tuotteita.
Kustomoidut integraatiot
Tapauskohtaisesti kustomoidut integraatiot tarjoavat aina parhaan joustavuuden. Dataa voidaan yhdistellä eri rajapinnoista, rakentaa ehdollista logiikkaa ja huomioida suorituskykyvaatimukset.
Työmäärä on tyypillisesti toteutusvaiheessa isompi, mutta esimerkiksi integraatioalustoihin verrattuna jatkuvat kustannukset ovat pienempiä. Kannattaa kuitenkin huomioida mahdolliset muutokset järjestelmissä tai rajapinnoissa, jotka vaativat muutoksia myös rajapintoihin. Tämän tyyppiset muutokset ovat kuitenkin melko harvinaisia ja moniin integraatioihin ei tarvitse käyttöönoton jälkeen koskea vuosiin.
Mitä ottaa huomioon integraatiota suunnitellessa?
Ennen integraatioprojektin aloittamista on tärkeää pysähtyä miettimään muutamia keskeisiä asioita:
- Tavoitteet: Mitä konkreettisia hyötyjä tai ongelmia integraatiolla pyritään ratkaisemaan?
- Järjestelmät: Mitkä järjestelmät tarkalleen ottaen tarvitsee liittää toisiinsa? Löytyykö niistä tarvittavat rajapinnat? Mahdollistavatko ne reaaliaikaista tiedonsiirtoa?
- Tiedonsiirto: Mitä dataa siirretään, mihin suuntaan ja kuinka usein? Onko kaikki tarvittava data saatavilla ja oikeassa muodossa?
- Monimutkaisuus: Kuinka monimutkainen datan rakenne on? Tarvitseeko dataa muokata tai rikastaa?
- Budjetti ja aikataulu: Mitkä ovat käytettävissä olevat resurssit projektille? Huomioi myös integraation ylläpito ja jatkokehitys.
- Tulevaisuuden tarpeet: Miten liiketoiminta tai järjestelmät saattavat muuttua tulevaisuudessa? Pitäisikö integraation olla helposti laajennettavissa?
- Tietoturva: Miten varmistetaan, että tiedonsiirto on turvallista ja täyttää lainsäädännön (esim. GDPR) vaatimukset?
Milloin integraatio kannattaa?
Integraation kannattavuutta voi arvioida puhtaasti taloudellisten kriteerien kautta, eli manuaalisesta tiedonsiirrosta säästyvä työaika sekä virheiden minimoimisen vaikutus.
Usein voi olla mielekästä puhtaiden numeroiden lisäksi arvioida asiaa myös työn mielekkyyden näkökulmasta. Manuaalinen työ voi olla puuduttavaa ja vaikuttaa negatiivisesti työhyvinvointiin. Vapautuva aika ja energia näkyvät monesti työn laadussa ja uusina ideoina. Toisaalta joillekin tylsät rutiinit voivat olla tärkeä osa päivää ja mahdollisuus antaa aivojen levätä.
Joskus voi myös olla tilanne, että esim. päivän verran viikottaista työaikaa säästävä integraatio tarkoittaa ettei tarvitse palkata kokonaan uutta työntekijää, jolloin säästöt ovat huomattavasti laskennallista tuntipalkkaa isommat.
Kannattaa myös aina miettiä tulevaisuuteen eli onko näkyvissä muutoksia, jotka vaikuttavat arvioon esimerkiksi vuoden päästä. Kasvua tavoitellessa voi olla perusteltua parantaa skaalautuvuutta etukäteen ongelmien välttämiseksi.
Integraatioprojekti ja sen toteutus
Toteuttajan valinta
Integraation toteuttajaa etsiessä kannattaa kiinnittää huomiota kokemukseen erilaisista integraatioista. Kokemus spesifistä järjestelmästä harvoin on tarpeen, koska ammattitaitoinen ohjelmistokehittäjä osaa lukea rajapintakuvausta ja huomioida järjestelmien erityispiirteet.
Laaja kokemus erilaisista integraatioista auttaa huomioimaan esimerkiksi rajapintojen kyselymäärien rajoitukset ja erilaiset poikkeukset bisneslogiikassa. Kokemus saattaa myös tarkoittaa sitä, että toteuttajalta löytyy valmiita testattuja malleja eri tyyppisiin integraatioihin.
Kannattaa myös pitää mielessä, että integraatioon usein tulee muutoksia tai ongelmia toteutuksen jälkeen. Toteuttajalla on lähtökohtaisesti aina paras tietotaito, joten kannattaa miettiä toteuttajaa myös jatkuvuuden näkökulmasta.
Lähtötiedot
Heti alkuun kannattaa varmistaa, että toteuttajalla on kaikki tarvittavat tiedot eli erilaiset rajapintatunnukset ja avaimet, mahdollisen testiympäristön käyttöoikeus tai muu tapa varmistaa integraation toimivuus esimerkiksi järjestelmän käyttöoikeuksien kautta.
Erityisesti uutta sivustoa integroitaessa mitä realistisempaa testidataa löytyy, sen parempi. Tuleeko esimerkiksi verkkokaupan tuotteisiin lisävalintoja (esim. kaiverruksia), jotka vaikuttavat integraation toimintaan?
Rajapintayhteyksien tekniset rajoitukset
Liitettäessä rajapintoja WordPress-asennukseen tulee ottaa huomioon mm. pyyntörajoitukset (engl. rate limiting) sekä muita mahdollisia teknisiä rajoituksia, joita palveluntarjoalla saattaa olla.
Muistilista rajapintayhteyksiä luodessa:
- Millä tavoin integraatio on yhteydessä WordPress-asennuksen kanssa?
- Päivitetäänkö jokainen verkkokaupassa oleva tuote yksittäin?
- Mahdollisesti jokainen muutos, esim. tuotteen saldomäärä on oma HTTP-pyyntönsä
- Päivitetäänkö jokainen verkkokaupassa oleva tuote yksittäin?
- Onko siirrettävä data mahdollista siirtää yhdellä pyynnöllä?
- Vähemmän pyyntöjä, mutta isompi siirrettävä datamäärä kerralla
- Integraatioajojen ajoitus: koska ja kuinka usein?
- WordPress Cron vs. Linux Cron
- Suorituskyvyn mittaus
- WordPress Cron vs. Linux Cron
- IP-pohjaiset rajoitukset
- Onko integraatiolla tarvetta siirtää dataa muiden, kuin valikoitujen IP-osoitteiden (palvelimien) kanssa?
- Tarvitseeko integraation palomuuriin tai muihin suojauksiin tehdä sääntöjä?
Lokitus
Lähes jokaiseen integraatioon kannattaa toteuttaa mahdollisimman laaja lokitus alusta alkaen. Integraatioissa tulee hyvin usein poikkeustilanteita, joita ei olla osattu huomioida toteutusvaiheessa ja välillä rajapinnoissa saattaa olla dokumentoimattomia poikkeuksia, esim. tuotetietojen tekstikenttien pituutta on rajoitettu, mikä johtaa tiedon puuttumiseen.
Ongelmien selvittämistä helpottaa huomattavasti kun integraation eri vaiheita on lokitettu kattavasti. WooCommercesta löytyy sisäänrakennettu lokitusjärjestelmä, joka mahdollistaa lokien kirjaamisen ja selaamisen rakenteellisesti eri kriittisyysasteilla. Kriittisistä virheistä voi myös lähettää automaattisesti sähköpostin, jolloin voidaan reagoida heti, jos tieto ei kulje järjestelmien välillä.
Lokeista voi myös vähemmän teknisempi henkilö tarkastaa, toimiiko integraatio normaalisti tai puuttuuko järjestelmistä esimerkiksi integraation kannalta olennaista tietoa, kuten tuotekoodeja. Lokitietojen ei myöskään tarvitse rajoittua erillisiin lokitietoihin, vaan esimerkiksi tuotetietoihin voi lisätä tiedon edellisen päivityksen ajankohdasta.
Dokumentointi
Yksinkertaista tuoteintegraatiota ei välttämättä tarvitse dokumentoida erityisen yksityiskohtaisesti. Kaikki poikkeukset rajapinnoissa, kuten aikataulut ja esimerkiksi poikkeustilanteiden käsittely kannattaa kuitenkin olla kirjattuna selkeästi niin, että esimerkiksi kysymykseen “miksi tieto x ei ole päivittynyt” ei tarvitse hakea vastausta toimittajalta asti, silloin kun vastaus on, että “tieto päivittyy viiveellä”.
Mitä monimutkaisempi integraatio, sen tärkeämpää on sekä koodin kommentointi, että integraation yleinen dokumentointi. Henkilöstö ja kehittäjät vaihtuvat ja sitä kautta hiljainen taito katoaa. Koodista kyllä lopulta selviää miten integraatio toimii, mutta kriittistä ongelmatilannetta selvittäessä laadukas dokumentaatio nopeuttaa huomattavasti.
Yhteenveto
WordPress- ja WooCommerce-integraatiot tarjoavat merkittävän mahdollisuuden tehostaa liiketoimintaasi, säästää aikaa ja vähentää virheitä automatisoimalla tiedonsiirron verkkosivustosi/verkkokauppasi ja muiden tärkeiden järjestelmiesi välillä.
Olipa kyse sitten tilausten siirrosta, tuotetiedon hallinnasta tai asiakasdatan synkronoinnista, oikein toteutettu integraatio tekee arjesta sujuvampaa ja mahdollistaa liiketoiminnan kasvun.
Artikkelissa ei ole käsitelty integraatioiden toteutuksen hintoja, koska jokainen tapaus on yksilöllinen ja näennäisesti pienet asiat voivat vaikuttaa työmäärään huomattavasti.
Työmäärään ja sitä kautta hintaan vaikuttavat myös integraation laajennettavuus ja modulaarisuus, sekä esimerkiksi dokumentointiin ja testaukseen käytettävä aika.
Tyypillisesti yksinkertaisissa integraatioissa puhutaan päivän tai parin työstä, keskitasolla viikosta ja haastavissa integraatioissa useamman viikon työpanoksesta. Lopullinen työmäärä on kuitenkin aina tapauskohtainen jokaisen integraation kohdalla.
Aikatauluun vaikuttaa toteutuksen työmäärän lisäksi suunnitteluun kuluva aika, viiveet tunnusten saamisessa sekä testaamiseen kuluva aika.
Integraatioita on monenlaisia ja niiden toteuttamiseen on eri tapoja valmiista työkaluista aina täysin kustomoituihin ratkaisuihin. Tärkeintä on tunnistaa omat tarpeet ja valita kumppani, joka pystyy vastaamaan niihin luotettavasti ja tunnistaa parhaiten tilanteeseen soveltuvan toteutustavan.
Tietoa kirjoittajasta
Parvus Vulpes Oy keskittyy erityisesti teknisesti haastavampiin WordPress- ja WooCommerce-toteutuksiin vuosikymmenien yhdistetyllä kokemuksella. Parvus on toteuttanut integraatioita kymmeniin eri järjestelmiin ja uusia tehdään jatkuvasti valitsemalla aina tilanteeseen parhaiten soveltuvat työkalut.

Jos suunnittelet integraatiota ja kaipaat asiantuntijan arviota tilanteesta, ota rohkeasti yhteyttä Olliin: olli@parvus.fi
Termejä
Integraatioiden yhteydessä esiintyy paljon erilaista teknistä terminologiaa. Olemme koonneet taulukkoon yleisiä termejä ja niille lyhyet selitykset.
| Termi | Merkitys |
| API Application Programming Interface | Ohjelmistorajapinnan kautta voi hakea, muokata tai lisätä tietoa. Eri järjestelmien välillä rajapintakutsuja tehdään tyypillisesti internetin välityksellä. |
| REST Representational State Transfer, API | REST kuvaa rajapinnan teknistä toimintamallia ja arkkitehtuuria. Käytännössä suuri osa moderneista rajapinnoista noudattaa REST-mallia ja se on tyypillisesti integraation kannalta selkein ja helpoin malli. |
| SOAP Simple Object Access Protocol | SOAP on erityisesti vanhemmissa ohjelmistoissa tyypillinen rajapinnan malli, joissa sekä kutsut että vastaukset ovat XML-muodossa. SOAP on hieman REST-mallia raskaampi sekä toteuttaa että ajaa. |
| GraphQL Graph Query Language | GraphQL on rajapinta, joka mahdollistaa rajatummin tietyn tiedon hakemisen ja parantaa tietyissä tilanteissa suorituskykyä. Tyypillinen järjestelmissä, joissa on reilusti vaihtelevaa tietoa. |
| RSS Really Simple Syndication | Rakenteellisessa XML-formaatissa oleva syöte, jonka kautta esimerkiksi WordPress-sivuston artikkeleita voi lukea. |
| XML Extensible Markup Language | Rakenteellinen ja hierarkinen tapa esittää tietoa. |
| CSV Comma Separated Value | Taulukko, solujen välisenä erotinmerkkinä voi pilkun lisäksi olla esimerkiksi tabulaattori tai puolipiste. |
| JSON Javascript Object Notation | XML:n kaltainen tietorakenne, monissa tapauksissa hieman yksinkertaisempi ja helpompi käsitellä |
| XLSX | Excelin käyttämä XML-pohjainen tiedostoformaatti. |
| Webhook | Internetin kautta lähetettävä ilmoitus esimerkiksi tilauksen statuksessa tapahtuneesta muutoksesta. Voi sisältää dataa. |
| CRM Customer Relationship Management | Asiakkuudenhallintaohjelmisto. Monista uutiskirjetyökaluista löytyy käytännössä CRM:lle tyypillisiä ominaisuuksia. |
| CDP Customer Data Platform | Alusta, johon pyritään keskittämään kaikki yrityksen asiakasdata helpottamaan sen hallintaa ja esimerkiksi tietosuojavelvollisuuksien hoitoa. |
| ERP Enterprise Resource Planning | Toiminnanohjausjärjestelmä voi sisältää laajasti erilaisia toimintoja tuotehallinnasta työvuorosuunnitteluun. |
| PIM Product Information Management | Dedikoitu tuotehallintajärjestelmä auttaa monesti yhdistämään tuotedataa eri lähteistä (esim. toimittajilta). Se toimii keskipisteenä eri myyntikanaville. |
| Dropshipping / 3PL Third Party Logistics | Logistiikan ulkoistaminen |
| Asynkroninen | Viiveellä tai esimerkiksi aikataulutetusti tapahtuva asia. |
| Synkroninen | Samanaikaisesti tehtävä asia: esimerkiksi kun tilaus luodaan, se viedään heti ulkoiseen järjestelmään. |
| Yksisuuntainen vs. kaksisuuntainen | Päivitetäänkö PIM-järjestelmästä tuotujen tietojen muokkaus verkkokaupassa takaisin PIM:iin esimerkiksi tuotetietojen osalta |
| Master data | Tiedon ensisijainen totuuden lähde. |
| Ylimyynti | Loppuneen tuotteen myyntitapahtuma |
| IPaaS Integration Platform as a Service | Integraatioalustat tarjoavat työkaluja integraatioiden toteutukseen, hallintaan ja monitorointiin. Esim. Zapier & Make.com |
| SSO Single Sign-On | Keskitetty kirjautumisenhallinta. Yhdellä tunnuksella pääsee kirjautumaan useampaan järjestelmään, helpottaa esim. työntekijöiden tunnusten hallintaa. |
| OAuth Open Authorization | Kirjautumisprotokolla, joka mahdollistaa kirjautumisen ulkoisiin järjestelmiin |
| OIDC | OAuth-kirjautumiseen perustuva protokolla, jolla voi jakaa hallitusti käyttäjätietoa ja lupia järjestelmien välillä. |
| Cron | Toistuvien tehtävien ajastamiseen käytetty palvelinsovellus. |

