Artikli, cene in zaloga
Prenašamo samo dogovorjena polja. Izdelke praviloma povezujemo prek enoličnega SKU-ja, lokacije in cenike pa izberemo v specifikaciji.
Praktičen vodič za naročnika
Dobra povezava ni samo prenos naročila. Najprej določimo, kateri sistem je glavni vir posameznega podatka, nato pa za izdelke, zalogo, cene, kupce, naročila in dokumente pripravimo ločene, nadzorovane podatkovne tokove.
Prva poslovna odločitev
Največ težav nastane, kadar lahko isti podatek brez jasnega pravila spreminjata oba sistema. Če se na primer cena popravi v Shopifyju in v računovodskem programu, povezava ne more sama vedeti, katera vrednost je pravilna. Zato za vsako polje določimo glavni vir, cilj in dovoljene izjeme.
To ne pomeni, da mora vse prihajati iz enega sistema. Opisi in slike lahko ostanejo v Shopifyju, zaloga in redna cena se bereta iz ERP-ja, novo naročilo pa potuje iz Shopifyja v poslovni sistem. Status odpreme, tracking in povezava do računa se lahko pozneje vrnejo v trgovino.
Prenašamo samo dogovorjena polja. Izdelke praviloma povezujemo prek enoličnega SKU-ja, lokacije in cenike pa izberemo v specifikaciji.
Prenesejo se dejansko prisotni podatki kupca, postavke, količine, popusti, davki, dostava, način plačila in dogovorjene opombe.
Ko ciljna API-ja to omogočata, se lahko vrnejo odprema, tracking, poslovni status in varen dostop do že izdelanega računa.
Dvosmerna povezava ne pomeni, da se vsa polja prepisujejo v obe smeri. Vsak tok mora imeti svoje pravilo.
Tehnični predtest
Na strani Shopify uporabljamo uradni GraphQL Admin API za dovoljene bralne in zapisne operacije. Dogodke, kot je novo ali spremenjeno naročilo, lahko aplikacija prejme prek webhooka. Dostop se omeji na najmanjši nabor pravic, ki ga zahteva potrjena specifikacija.
Na strani računovodskega ali ERP programa potrebujemo dokumentacijo konkretne različice, ustrezno licenco, naslov API-ja, testnega uporabnika in pravice do zahtevanih podatkov. Ime programa samo po sebi ni dovolj. Razpoložljive metode so lahko odvisne od različice, kupljenih modulov, nastavitev organizacije in uporabniških dovoljenj.
Podatki ne potujejo na slepo
Namenska integracijska aplikacija deluje med sistemoma. Sprejme dogodek ali se zažene po urniku, prebere spremembe, preveri obvezna polja in vrednosti ter jih pretvori v obliko, ki jo pričakuje ciljni sistem. Vmesna baza ne nadomešča Shopifyja ali računovodstva, temveč hrani tehnične povezave in stanje obdelave.
Webhook ali urnik ustvari opravilo z enoličnim identifikatorjem in vrsto podatkovnega toka.
Preverijo se SKU, obvezna polja, šifranti, dovoljene vrednosti in dogovorjena poslovna pravila.
Shopify identifikatorje, davke, dostavo, plačila, statuse in druge vrednosti povežemo z ustreznimi šiframi ciljnega sistema.
Preverjeni podatki se zapišejo prek uradnega API-ja. Pred ponovitvijo se preveri, ali je bil zapis že uspešno obdelan.
Rezultat se zabeleži. Začasna napaka ostane v čakalni vrsti, trajna napaka pa zahteva pregled in opozorilo.
Kaj mora biti zapisano
Za vsak modul pripravimo tabelo z izvorom, ciljem, imenom polja, primerom vrednosti, pravilom pretvorbe in obravnavo napake. Posebej zapišemo, kaj se zgodi z manjkajočim SKU-jem, neznano davčno stopnjo, izdelkom brez zaloge, podvojenim naročilom ali preklicanim plačilom.
Pomembne so tudi pogostost prenosa, dovoljeni časovni zamik in pričakovano število zapisov. Zaloga se lahko osvežuje pogosteje kot katalog, naročila se lahko sprožijo dogodkovno, večje cenike pa je smiselno obdelovati paketno. Izbira je odvisna od zmogljivosti in omejitev dejanskih API-jev.
Pred produkcijskim zagonom
Najprej preverimo branje in testni zapis za vsak vključeni API. Nato omejimo obseg na nekaj realnih artiklov in naročil. Preverimo redno ter akcijsko ceno, ničelno zalogo, različice izdelka, fizično in pravno osebo, popust, kupon, dostavo, davek, opombo in manjkajočo preslikavo.
Poseben test je ponovitev istega dogodka. Naročilo se ne sme ustvariti dvakrat, če se webhook ponovi ali če je bil prvi odgovor zaradi prekinitve nejasen. Po potrditvi rezultatov sledi začetna uskladitev, postopni produkcijski zagon in spremljanje prvih prenosov v kontrolni plošči.
Razvoj je mogoče odgovorno oceniti šele po predtestu dostopov in potrjeni specifikaciji. Funkcije, ki jih API konkretnega sistema ne omogoča, se izločijo ali rešijo drugače po novem dogovoru.
Pogosta vprašanja
Možnosti vedno preverimo na konkretnih sistemih, licencah, dostopih in vzorčnih podatkih.
Povezava je mogoča, če imata sistema ustrezen uradni API, izvoz ali drug dogovorjen dostop do potrebnih podatkov. Pred obljubo preverimo konkretno različico, licenco, metode in pravice.
Velik del običajnih prenosov izdelkov, zaloge, cen in naročil je mogoč brez Shopify Plus. Posebne funkcije so lahko odvisne od paketa, uporabljene aplikacije in trenutnih pravil Shopify API-ja.
Hrani povezave med identifikatorji, stanje opravila in rezultate. Tako lahko integracija preprečuje podvajanje, nadaljuje po začasni napaki in pokaže, kaj se je zgodilo.
Da. Za posamezna polja določimo Shopify kot glavni vir in jih iz poslovnega sistema ne prepisujemo. Enako pravilo lahko velja za prevode, metafielde ali druge vsebine.
Rok je odvisen od potrjenega obsega, kakovosti podatkov, dostopnosti testnih okolij in odzivnosti pri potrjevanju. Po tehničnem pregledu pripravimo konkreten načrt in prevzemne teste.