Shopify-integraation tavoite ei ole siirtää mahdollisimman paljon dataa. Tavoite on pitää valitut liiketoimintaprosessit luotettavina: tuotetieto oikein, saldo riittävän ajantasaisena, tilaus oikeassa järjestelmässä ja virhe näkyvänä ennen kuin asiakas huomaa sen.
Tässä oppaassa käsitellään integraatiota ostajan näkökulmasta. Sen avulla voit rajata ERP-, PIM-, WMS-, logistiikka- tai muun taustajärjestelmän kytkennän ja vertailla toteutuksia muutenkin kuin hinnan perusteella.
Aloita prosessista, älä API:sta
Piirrä ensin liiketoimintaprosessi nykytilassa ja tavoitetilassa. Esimerkiksi tilausprosessissa määritä:
- missä tilaus syntyy;
- milloin se voidaan siirtää ERP:iin;
- kuka varaa varaston;
- missä toimitus muodostetaan;
- mistä seurantanumero palaa;
- miten peruutus, palautus ja hyvitys käsitellään;
- mikä järjestelmä on kirjanpidon ja asiakaspalvelun totuus.
Vasta tämän jälkeen päätetään rajapinnat ja teknologia. Muuten riskinä on automatisoida epäselvä prosessi, jolloin virheet liikkuvat vain nopeammin.
Tee kenttäkohtainen datavastuumalli
”ERP omistaa tuotteet” on liian epätarkka määrittely. Yksi tuote voi sisältää nimen, markkinointitekstin, SKU:n, EAN-koodin, kustannuksen, hinnan, saldon, kuvat, kategoriat, markkinakohtaisen julkaisutiedon ja metakenttiä. Omistaja voi olla eri jokaiselle kentälle.
| Data | Tyypillisiä omistajia | Päätettävä |
|---|---|---|
| SKU ja EAN | ERP tai PIM | Tunnisteen pysyvyys ja duplikaatit |
| Rikastettu sisältö | PIM tai Shopify | Käännökset, kuvat ja verkkokauppakohtaiset kentät |
| Hinta | ERP, hinnoittelujärjestelmä tai Shopify | Verot, valuutat, B2B-hinnastot ja kampanjat |
| Varastosaldo | ERP tai WMS | Varattava määrä, puskurit, sijainnit ja päivitystiheys |
| Asiakas | Shopify, CRM tai ERP | Suostumukset, B2B-yhtiöt, tunnisteet ja yhdistäminen |
| Tilaus | Shopify ja ERP eri vaiheissa | Status, maksut, toimitukset, hyvitykset ja muutosoikeus |
Dokumentoi myös muunnossäännöt: yksiköt, valuutat, verokoodit, tilat, toimitustavat ja järjestelmien tunnisteet. Jokaiselle säännölle tarvitaan esimerkki ja hyväksyjä.
Neljä yleistä toteutusmallia
1. Valmis Shopify-sovellus
Sopii vakiintuneeseen tarpeeseen, jossa sovelluksen tietomalli, maatuki, valvonta ja hinnoittelu vastaavat prosessia. Tarkista sovelluksen ylläpitäjä, päivitystahti, datan sijainti, käyttöoikeudet, vientimahdollisuus ja toiminta sopimuksen päättyessä.
2. Järjestelmätoimittajan valmis liitin
Voi olla hyvä valinta, jos ERP- tai logistiikkatoimittaja ottaa kokonaisvastuun omasta päästään. Selvitä, mitä ”Shopify-tuki” oikeasti kattaa: tietoryhmät, versiot, markkinat, virheet ja muutostyöt.
3. Integraatioalusta tai väliohjelmisto
Hyödyllinen, kun järjestelmiä ja työnkulkuja on useita. Keskitetty muunnos, jonotus ja valvonta voivat helpottaa ylläpitoa. Samalla syntyy uusi kriittinen komponentti, jonka lisenssi, osaaminen, ympäristöt ja toimittajariippuvuus pitää huomioida.
4. Räätälöity integraatio
Perusteltu, kun prosessi tai datamalli on aidosti yrityskohtainen. Räätälöinti ei tarkoita vain ensimmäistä kehitystyötä: mukaan tarvitaan hosting, salaisuuksien hallinta, valvonta, päivitykset, testit ja dokumentaatio.
Valinta voi olla hybridi. Esimerkiksi maksut hoidetaan vakiotoiminnolla, tuotesisältö valmiilla PIM-liittimellä ja yrityskohtainen tilausten rikastus räätälöidyllä palvelulla.
Reaaliaikainen vai ajastettu synkronointi?
”Reaaliaikainen” ei ole itseisarvo. Päivitystavan pitää vastata virheen liiketoimintavaikutusta.
- Tilaus voidaan lähettää tapahtuman perusteella heti, mutta vastaanoton onnistuminen pitää täsmäyttää.
- Saldolle voidaan käyttää nopeaa tapahtumapäivitystä sekä säännöllistä täyttä tarkistusta.
- Suuri tuoteluettelo voidaan päivittää erissä, jos minuutin viive ei vaikuta myyntiin.
- Raportointidata voidaan siirtää harvemmin kuin asiakaslupaukseen vaikuttava tieto.
Shopify tarjoaa GraphQL Admin API:n tietojen lukemiseen ja muuttamiseen sekä webhooks-tapahtumia muutoksista ilmoittamiseen. Rajapinnoilla on käyttörajoja, ja kyselyiden kustannus sekä API-version elinkaari pitää huomioida. Webhook ei yksin ole täydellinen tapahtumakirjanpito: vastaanotto, aitouden tarkistus, duplikaatit, uudelleenyritykset ja puuttuvien tapahtumien täsmäytys on suunniteltava.
Virheenkäsittely ja valvonta
Integraatio ei ole valmis, jos vain onnistunut polku toimii. Määritä vähintään:
- yksilöllinen tapahtumatunniste ja idempotenssi eli turvallinen uudelleenajo;
- loki, josta näkee lähteen, tapahtuman, tilan ja virheen ilman tarpeettomia henkilötietoja;
- automaattiset uudelleenyritykset rajatulla määrällä ja kasvavalla viiveellä;
- kuollut kirjain -jono tai muu paikka pysyvästi epäonnistuneille tapahtumille;
- hälytys oikealle vastuuhenkilölle;
- käsittelyohje ja mahdollisuus ajaa korjaus hallitusti;
- päivittäinen tai sovittu täsmäytys kriittisille tiedoille.
”Hälytys lähetetty” ei vielä ratkaise asiakkaan tilausta. Operointimallin pitää kertoa, kuka tutkii, kuka korjaa ja kuka viestii asiakkaalle.
Tietoturva ja tietosuoja
Pyydä vain tarvittavat Shopify-oikeudet ja rajaa myös lähdejärjestelmän käyttäjä. Säilytä tunnukset salaisuuksien hallinnassa, kierrätä ne sovitusti ja erota testi- sekä tuotantoympäristöt.
Selvitä:
- mitä henkilötietoja liikkuu ja miksi;
- missä dataa käsitellään ja lokitetaan;
- kuinka pitkään lokit ja varmuuskopiot säilyvät;
- miten pääsy myönnetään ja poistetaan;
- miten haavoittuvuudet, riippuvuudet ja API-versiot päivitetään;
- mitä tapahtuu tietoturvapoikkeamassa tai toimittajan vaihtuessa.
Testaus ja käyttöönotto
Testaa kenttien lisäksi prosessit ja volyymi. Käytä realistisia tuotteita, variantteja, valuuttoja, toimitustapoja ja virhetilanteita. Varmista myös, että testitilaus ei päädy vahingossa kirjanpitoon tai asiakkaalle.
Hyväksymistestaus kattaa ainakin:
- uuden ja muuttuneen tuotteen;
- loppuneen ja palautuneen saldon;
- alennuksen, veron ja toimituskulun;
- maksetun, hylätyn, perutun ja hyvitetyn tilauksen;
- osatoimituksen ja palautuksen;
- integraatiokatkon ja hallitun uudelleenajon;
- täsmäytysraportin.
Käyttöönotossa voidaan tarvita alkulataus, rinnakkaisajo, tarkistusikkuna ja vaiheittainen aktivointi. Päätä etukäteen, miten vanhat integraatiot pysäytetään ja kuka valvoo ensimmäisiä tuotantotapahtumia.
Vastuut ja omistajuus
Yksi integraatio voi koskea Shopify-toimittajaa, ERP-kumppania, logistiikkaa, IT:tä, taloutta ja liiketoimintaa. Nimeä jokaiselle kokonaisuudelle yksi päätösvastuullinen. Rajapinnan molemmin puolin oleva ”toimii meillä” ei riitä, jos kukaan ei omista ketjua.
Tarjouksessa tai projektisuunnitelmassa pitää näkyä:
- kuka toimittaa ja dokumentoi kunkin rajapinnan;
- kuka tuottaa testidatan ja hyväksyy tuloksen;
- kuka maksaa kolmansien osapuolten muutostyöt;
- kuka ylläpitää tuotantoa, valvontaa ja hälytyksiä;
- miten muutospyynnöt arvioidaan;
- kuka omistaa koodin, ympäristöt ja käyttöoikeudet yhteistyön päättyessä.
Mistä hinta ja aikataulu muodostuvat?
Työmäärää kasvattavat tietoryhmien ja järjestelmien määrä, puutteelliset rajapinnat, epäselvä datan omistajuus, monimutkaiset muunnokset, suuri volyymi, tiukka ajantasaisuus, markkina- ja B2B-säännöt, korkea käytettävyysvaatimus sekä vaativa julkaisu.
Pyydä arvio eriteltynä määrittelyyn, kehitykseen tai konfigurointiin, testaukseen, käyttöönottoon, dokumentaatioon ja jatkuvaan ylläpitoon. Vertaa myös lisenssejä, hostingia ja lähdejärjestelmän toimittajan työtä.
Growlyn Shopify-integraatiopalvelu kattaa arkkitehtuurin, toteutuksen ja tuotannon valvonnan sovitussa laajuudessa. Varaa integraatioarkkitehtuurin kartoitus, jos haluat tunnistaa järjestelmät, datavirrat, vastuut ja realistisen kustannushaarukan ennen toteutuspäätöstä.