Prekių kūrimas ir naujinimas iš Google Sheets bylos

Jeigu nerasite reikiamos pagalbos - rašykite mums į pagalba@verskis.lt

Prekių kūrimas ir naujinimas iš Google Sheets bylos

Veikimo ir paskirties aprašymas

Tikslas - iš Google Sheets bylos (kitaip vadinamas "excelis online") kurti bei atnaujinti prekes. Prekių kūrimui gali būti naudojamos ir kelios kalbos, ir atributai, pavadinimai, aprašymai ir nuotraukų importas iš nuotolinių sistemų. Tokiu būdu bus paprasta tiek sukurti prekę, tiek vėliau joms masiškai priskirti nuolaidas, pakeisti likučius arba priskirti kažkurį naują atributą. Visa tai vyksta masiškai ir be įsikišimo į el.parduotuvės administracinę dalį. Galima kurti tik paprastas (ne konfigūruojamas prekes).

Sąsajos tarp sistemų sukūrimas

Sukurkite techninę prieigą prie Google įrankių

Adresu https://console.developers.google.com/apis/credentials kairėje pusėje pasirinkite "Credentials" ir vėliau paspaudę mygtuką "Create credentials" reikia atlikti sekančius veiksmus:
Iš pasirinkimų rinkitės "Oauth client ID" bei vėliau pasirinkite "Desktop app". Pavadinimą įrašykite "Verskis.LT XML generator"
Eilutėje ties "Verskis.LT XML generator" paskutinis mygtukas leis Jums atsisiųsti konfigūracinį failą.
Atisiųskite jį ir persiųskite mums. Failo pavadinimas atrodo preliminariai taip:
client_secret_3456983219455-468gR4456rg9s5cq1nd13wgG7c0par0ro91.apps.googleusercontent.com.json

Įjunkite Google Sheets API

Tuo pačiu adresu https://console.developers.google.com/apis/credentials kairėje pusėje pasirinkite "Library" ir suraskite kortelę Google Sheets API, ją atidarę paspauskite mygtuką "Enable".

Taip pat aktyvuokite sukurtą aplikaciją

Sukurkite savo Google Sheet bylą

Pagal šį Google Sheet šabloną, savo (toje pačioje vartotojo paskyroje) sukurkite savo dokumentą. Skirtuko pavadinimą taip ir palikite užvadintą "Sheet1", o sau galite daryti papildomus, kitokius.
Nuorodą į šią bylą atsiųskite mums (prieš tai padarę prieigą prie bylos pagal URL adresą, pageidautina su redagavimo galimybe).

Padėkite mums "surišti" importo mechanizmą su savo Google Sheet byla

Mes Jums atsiųsime nuorodą, kurią reikės aktyvuoti.
Google sistema paprašys Jūsų prisijungti su ta paskyra, kurioje kūrėte Google Sheet bylą ir patvirtinti suteikiamą leidimą mūsų sistemai. Kadangi sukurta techninė prieiga nėra patvirtinta Google gausite atitinkamą pranešimą (angl. "This app isn't verified"), tačiau kairėje apačioje bus galima paspausti "advanced" ir paspausti "Go to Verskis.LT XML generator (unsafe)". Vėl patvirtinus paskyrą pamatysite pranešimą "Grant Verskis.LT XML generator permission" - reikės leisti prieigą paspaudžiant mygtuką "Allow". Galutiniame lange dar kartą "Allow". Rezultate google Jums sugeneruos kodą, pvz. 2/h5Tf3qJipa0Getlx3fKt1B-zQ_qCzumk1rAwQjmC8b_YhNgRz - jį atsiųskite mums.

Dėmesio: nuoroda ir raktas turi galiojimo laikus, todėl patartina šiuos žingsnius atlikti kiek įmanoma operatyviau, suderinus laiką aktyvavimui (raktas galios 2 valandas). Rekomenduojame šią procedūrą atlikti telefoninio skambučio metu (apsikeičiant el.laiškais) arba suderinus taip, kad abi šalys žinotų, jog reikia laukti el.laiško ir į jį nedelsiant reaguoti.

Pavyzdžiai bei laukų Google Sheet byloje paaiškinimas

Laukų atskirimui naudojamas specialus simbolis ¦ kuris nėra tipinė teksto dalis, jo nesurinksite su klaviatūra, todėl jis gerai tinka atskirti laukų reikšmėms kai viename langelyje reikia įrašyti kelias reikšmes, pvz. daugiakalbystės reikšmes tam pačiam elementui.

Pastorintų reikšmių stulpeliai Google Sheet byloje yra privalomi, o stulpelių kurių Jums nereikia ir jie yra neprivalomi - gali nebūti byloje, pvz. daugiakalbystė arba atributai arba akcija.

  • export - 0 arba 1 - ar įtraukti šią prekę į importo mechanizmą. Kol neužbaigėte pildyti prekės duomenų rekomentuotumėme naudoti 0, o 1 įrašykite prekės sukūrimo pabaigoje.
  • code - unikalus prekės kodas (dydžiosios ir mažosios neturi reikšmės). Jeigu prekė nebus rasta pagal kodą - ją sukursime, jeigu prekė bus rasta - ją atnaujinsime.
  • Barcode - prekės barkodas, neprivalomas.
  • CategoryPath[LT] - prekės kategorija. Bus naudojama medžių sąryšiams nustatyti, kad sistema žinotų į kurį meniu punktą el.parduotuvėje importuoti prekę. Naudojama tik prekės kūrimo metu (neaktualu naujinant nes kategorija nebus pakeista). Pavadinimas bent viena kalba (el.parduotuvės pagrindine) privalomas. Jeigu norite medžių sąryšiuose matyti meniu/submeniu struktūrą - naudokite skiriamąjį ženklą / pvz "Buitinė technika / Televizoriai", kitai prekei "Buitinė technika / Šaldytuvai" - tada medžių sąryšiuose išskleisite "Buitinė technika" subkategorijas ir nurodysite atitikmenį "Televizoriai" bei "Šaldytuvai" kategorijoms.
  • CategoryPath[EN] - kitos kalbos kategorijos pavadinimas, neprivalomas.
  • Name[LT] - prekės pavadinimas, privalomas pagrindine kalba.
  • Name[EN] - nebūtinas, prekės pavadinimas anglų kalba (ar kita kuri yra sistemos palaikoma)
  • Description[LT] - nebūtinas, prekės pilnas aprašymas, įskaitant HTML kodą.
  • Description[EN] - nebūtinas, prekės pilnas aprašymas, įskaitant HTML kodą, anglų kalba (ar kita kuri yra sistemos palaikoma).
  • ShortDescription[LT] - nebūtinas, prekės trumpas aprašymas, įskaitant HTML kodą.
  • ShortDescription[EN] - nebūtinas, prekės trumpas aprašymas, įskaitant HTML kodą, anglų kalba (ar kita kuri yra sistemos palaikoma).
  • Tax - privalomas, PVM dydis procentais, pvz 21.
  • PrimeCost[EUR] - privalomas, prekės savikaina nurodyta valiuta be PVM, jeigu valiuta nėra ta pati kaip bazinė el.parduotuvės valiuta - įsitikinkite, kad jai veikia valiutų kursų naujinimas.
  • Price[EUR] - privalomas, prekės kaina EUR valiuta be PVM, A kainynui (galima laužtyniuose skliaustuose nurodyti [A] dėl aiškumo). Dešimtainiai atskiriami . (taško) simboliu, pvz. 21.99 (ne 21,99). Taip pat ir kitose kainos stulpeliuose.
  • Price[EUR][B] - nebūtinas, prekės kaina EUR valiuta, B kainynui, be PVM.
  • Price[EUR][C] - nebūtinas, prekės kaina EUR valiuta, C kainynui, be PVM.
  • OldPrice[EUR] - nebūtinas, prekės "sena kaina" (prieš akciją nes "price" nurodoma galutinė pardavimo kaina) EUR valiuta, A kainynui, be PVM (galima laužtyniuose skliaustuose nurodyti [A] dėl aiškumo).
  • OldPrice[EUR][B] - nebūtina, prekės "sena kaina" (prieš akciją nes "price" nurodoma galutinė pardavimo kaina) EUR valiuta, B kainynui, be PVM.
  • OldPrice[EUR][C] - nebūtinas, prekės "sena kaina" (prieš akciją nes "price" nurodoma galutinė pardavimo kaina) EUR valiuta, C kainynui, be PVM.
  • Quantity - privalomas, likutis sandėlyje, pvz. 54
  • Weight - nebūtinas, prekės svori gramais
  • AttributeSet[LT] - nebūtinas, tačiau privalomas jeigu naudojami atributai. Atributų rinkinio pavadinimas LT kalboje.
  • AttributeSet[EN] - nebūtinas, tačiau privalomas jeigu naudojami atributai. Atributų rinkinio pavadinimas EN kalboje.
  • attr:Spalva[LT]¦Color[EN] - nebūtinas, tačiau jeigu naudojamas pradedamas būtinaia "attr:", vėliau pavadinimai reikiamomis kalbomis, kalbos tarpusavyje atskiriamos specialiu sisteminiu žymeniu ¦ (naudokite copy/paste). Svarbu: importo atributų ar jų reikšmių pervadinti/trinti negalima.
  • attr:Dydis[LT]¦Size[EN] - norint preidėti papildomus atributus, reikia jį sukurti kaip naują stulpelį
  • attr:Gamintojas[LT]¦Manufacturer[EN] - nebūtinas, tačiau jeigu pavadinimas atitinka sisteminio atributo pavadinimą "Gamintojas" (ir kitomis kalbomis atitinkamai esant poreikiui) - sistema jį atpažins kaip sisteminį atributą bei sukurs gamintoją (jeigu nebuvo) ir priskirs jį prekei.
  • attr:Prekės ženklas[LT]¦Brand[EN] - nebūtinas, tačiau jeigu pavadinimas atitinka sisteminio atributo pavadinimą "Prekės ženklas" (ir kitomis kalbomis atitinkamai esant poreikiui) - sistema jį atpažins kaip sisteminį atributą bei sukurs prekės ženklą(jeigu nebuvo) ir priskirs jį prekei.
  • Image - nebūtinas, prekės nuotraukos URL, pvz http://www.domenas.lt/mano.jpg
  • Image - nebūtinas, galima naudoti daug stulpelių su nuotraukomis kai nuotraukų daugiau kaip 1
  • Image - nebūtinas, galima naudoti daug stulpelių su nuotraukomis kai nuotraukų daugiau kaip 1
  • Publish[LT] - nebūtinas, požymis ar publikuoti šią prekę LT kalboje. 0 nepublikuojama, 1 publikuojama.
  • Publish[EN] - nebūtinas, požymis ar publikuoti šią prekę EN kalboje. 0 nepublikuojama, 1 publikuojama.

Kainų skaičiavimuose galima naudoti formules, pvz pardavimo "kaina = savikaina * 1.5", kai cėlės reikšmė šiuo atveju būtų "=Q3*1.5"

SVARBU: Failas nuolat naujina atributų reikšmes. Tai reiškia, kad jeigu kuriant prekę, kai nepriskyrėte atributo reikšmės, ją galite įrašyti vėliau. Atminkite, kad šiuo atveju VISADA prekių atributo reikšmes turite valdyti Google Sheets faile. Jeigu koreguosite el. parduotuvės administracinėje dalyje, importas pakeitimus panaikins ir importuos informaciją, kuri bus įkelta faile.

Importo veikimo logika

Prekių importas vyksta tokia seka

Importo mechanizmas sukuria medžių sąryšiuose naujas kategorijas, kurias aptinka importo duomenyse. Jeigu šakai yra nurodytas atitinkamas punktas el.parduotuvėje - tos šakos prekės sukuriamos, kai pagal kodą prekė nerasta el.parduotuvėje. Jeigu el.parduotuvėje prekė pagal kodą surasta - atnaujinami šios prekės duomenys. Vėliau, po 20-30 minučių importuojamos ir prekių nuotraukos.

Instruktažas apie medžių sąryšius

Importo kategorijai reikia nurodyti el.parduotuvės kategorijos atitikmenį, tarsi "šios kategorijos prekės keliauja į šią mūsų el.parduotuvės kategoriją".
Viena kategorija iš importo medžio (kairės pusės) sujungiama į vieną el.parduotuvės kategoriją (dešinės pusės). Nuvilkti šaką reikia paimant pele už žodžio (ne už ikonėlės) ir tempti į dešinę, o juodoji linija rodys kur yra nuvelkama ta kategorija. Į vieną el.parduotuvės kategoriją galima pajungti daug importo kategorijų.
Sujunginėti turėtumėte tik galutines (child / vaikines) kategorijas, o pagrindinės (tėvynės) turėtų likti. Jeigu kairėje matote katalogą o jame niekas neišsiskleidžia - reiškia visi "vaikai" sujungti. Nebent tose tėvynėse kategorijose yra prekių, tada jau reikės sujungti ir tėvynes kategorijas. Rekomenduotumėme taip nedaryti.
Importo mechanizmas ar medžių sąryšiu nustatymas meniu punktų el. parduotuvėje nekuria, juos sukurti turite patys per "turinys – svetainės medis" ir tada jau į jas pajunginėti importo kategorijas.

Surištų meniu atjungimas ar perjungimas į kitą šaką:
jeigu priskyrėte kategoriją ir ją reikia atjungti - iškart ikonėlės "X" atjungimui nesimatys. Pasimatys perkrovus šį puslapį. Iš dešinės pašalinus kairėje iškart neatsiras meniu, reikės irgi perkrauti puslapį ir ji bus jau kairėje dalyje.

Prekių importas

Prekės importuojamos į el.parduotuvę TIK sujungtoms kategorijoms (kai kategorija iš kairės yra susieta su kategorija iš dešinės).
Sujungus kategorijas, prekė priskirtoje kategorijoje kuriama sekančio importo metu į sujungtą kategoriją, atjungus kategoriją ar ją pakeitus - jau suimportuota prekė pati niekur nepersikels, liks kur buvo (kategorija nustatoma tik pirmojo importo metu). Sistema naudoja šiuos sąryšius tikrinant "ar importuoti/atnaujinti" ir "kur sukurti" uždaviniams, vadinasi, jei atjungiate kategoriją ar pakeičiate jos buvimo vietą per medžių sąryšius, prekės publikavimo vietą turėsite pasikeisti rankiniu būdu.Svarbu nepamiršti, jog jeigu prekė jau yra parduotuvėje tačiau jos kategorija yra nesujungta - ji niekada nebus atnaujinta (nedalyvauja importe, kadangi jos medžių sąryšis nepajungtas).

Papildoma informacija jau šiektiek "pažengus" su šiuo mechanizmu

Jeigu importo metu prekės kategorija nepajungta - prekė ignoruojama, nesvarbu, kad ji anksčiau buvo pajungtoje kategorijoje.Pvz: jeigu meniu punktas atjungtas tai net ir anksčiau importuotos prekės nebedalyvauja duomenų naujinime, kadangi meniu punktas kur priklauso prekė yra nepajungtas, o tai reiškia "ignoruoti tos kategorijos prekes". Taip pat galimas scenarijus kai Google Sheet`e pakeitėte prekei kategoriją, pvz naują sukūrėte ir ten išskaidęs perkėlėte dalį senų prekių. Dar galimas pavyzdys - sujungėte kategoriją, o Google Sheet`e išskaidėte tas kategorijas į dar detalesnes su naujomis subkategorijomis - jų nesimatys nei kairėje nei dešinėje ir pačios nesusijungs, o pasimatys tik tada, kai atjungsite tą tėvynę kategoriją iš dešinės - tada pasimatys kairėje ir subkategorijos.

Automatizuotos užduotys (itin pažengusiems)

Jeigu norima importą paleisti greičiau - per "nustatymai - automatizuotos užduotys" yra importas ties kuriuo "sekanti paleidimo data" yra visada priekyje lyginant su esamu laiku (leidžiama pvz kas ~24 valandas). Tada, spaudžiam "redaguoti" ir nustatom tada į praeitį (pvz. į 1 šio mėnesio dieną). Kas svarbu - negalima redaguoti užduočių kurios yra vykdomos "šiuo metu".