Produktų importas iš tiekėjo XML ar CSV failo yra būdas sukelti ir nuolat atnaujinti katalogą WooCommerce parduotuvėje be rankinio darbo: tiekėjas pateikia failą su produktais, jūs nurodote, kuris jo laukas atitinka kurį parduotuvės lauką, o sistema produktus sukuria, atnaujina kainas, likučius ir paslepia dingusius. Pats importas yra tik įrankis, o rezultatą lemia trys sprendimai: kokio formato failą gaunate, kaip sudedate laukų atitikmenis ir kokiomis taisyklėmis perskaičiuojate kainas. Žemiau paaiškinu kiekvieną iš jų taip, kaip darau savo klientų projektuose.
Esu Tomas, front-end programuotojas iš Vilniaus. Per vienuolika metų ir daugiau nei 150 projektų ne vieną kartą teko perimti parduotuvę, kurioje tiekėjo katalogas buvo importuotas „kaip yra“: su dubliuotais produktais, nuotraukomis po 4 MB ir aprašymais, kurie žodis į žodį sutampa su dešimčia konkurentų. Šis tekstas apie tai, kaip to išvengti.
Kokie būna tiekėjo katalogo formatai?
Tiekėjai katalogą pateikia keturiais būdais, ir nuo to priklauso, kiek automatizuoti pavyks.
| Formatas | Kaip gaunamas | Tinka automatizuoti? | Tipinės problemos |
|---|---|---|---|
| XML nuoroda (feed) | Nuolatinis URL, kartais su slaptažodžiu | Taip, geriausias variantas | Skirtinga struktūra kiekvienam tiekėjui, kartais keičiasi be įspėjimo |
| CSV arba „Excel“ failas | Siunčiamas el. paštu arba atsisiunčiamas iš tiekėjo sistemos | Iš dalies, jei yra pastovi nuoroda | Kablelių ir kabučių klaidos, lietuviškos raidės, sujungti laukai |
| API | Užklausos pagal tiekėjo dokumentaciją | Taip, bet reikia programuoti | Užklausų limitai, raktų galiojimas, nepilna dokumentacija |
| Tiekėjo svetainė be eksporto | Duomenys matomi tik naršyklėje | Ne | Duomenų nuskaitymas teisiškai ir techniškai trapus |
Jei tiekėjas duoda rinktis, visada prašau XML nuorodos. Tai failas, kurį serveris gali atsisiųsti pats nustatytu laiku, o jo medžio struktūra be problemų talpina variantus, kelias nuotraukas ir kelias kategorijas vienam produktui. CSV šiuos dalykus bando sutalpinti į vieną eilutę, todėl variantai ir nuotraukos dažnai sulimpa į vieną langelį, atskirtą kableliais ar kabliataškiais.
Kaip sudėlioti laukų atitikmenis?
Laukų atitikmenys (mapping) yra lentelė, kuri pasako: tiekėjo laukas price_net keliauja į parduotuvės įprastą kainą, laukas stock — į likutį, laukas cat_path — į kategoriją. Šį etapą verta daryti lėtai, nes klaida čia pasikartoja tūkstantį kartų.
Minimalus laukų sąrašas, be kurio importo nepradedu:
- Unikalus identifikatorius. SKU, tiekėjo ID arba EAN kodas. Pagal jį sistema kitą kartą atpažins, kad tai tas pats produktas, ir jį atnaujins, o ne sukurs dublikatą. Apie tai, kodėl tai svarbu variantams, rašiau straipsnyje apie SKU ir variacijas.
- Pavadinimas ir aprašymas. Importuojami į juodraštį, ne tiesiai į viešą puslapį, jei planuojate juos perrašyti.
- Kaina. Būtina išsiaiškinti, ar ji su PVM, ar be, ir ar tai jūsų pirkimo, ar rekomenduojama pardavimo kaina.
- Likutis. Skaičius arba tekstas („yra“, „nėra“, „užsakoma“). Tekstą reikia versti į skaičių ar būseną.
- Kategorija. Dažniausiai kaip kelias „Buitinė technika > Virtuvė > Kavos aparatai“. Jį reikia susieti su savo kategorijų medžiu, o ne kopijuoti tiekėjo struktūrą.
- Nuotraukų nuorodos. Viena ar kelios. Jas sistema atsisiunčia, sumažina ir konvertuoja į WebP.
- Atributai. Prekės ženklas, spalva, dydis, medžiaga. Nuo jų priklauso filtrai parduotuvėje.
Techniškai XML importas WooCommerce parduotuvėje dažniausiai atliekamas WP All Import įskiepiu: jis parodo tiekėjo failo struktūrą ir leidžia laukus sutempti pele. Kai tiekėjo failas keistas arba reikia logikos, kurios įskiepis neturi, rašau tarpinį skriptą, kuris failą pirma sutvarko, o tik tada perduoda importui.
Dažniausios laukų klaidos
- Kategorija importuojama kaip tekstas, todėl kiekviename atnaujinime atsiranda nauja kategorija su ta pačia reikšme.
- Variantai sukuriami kaip atskiri paprasti produktai, nes faile nėra lauko, jungiančio juos su pagrindiniu produktu.
- Kaina importuojama su kableliu vietoje taško ir virsta nuliu arba tūkstančiais.
- Nuotraukos atsisiunčiamos kaskart iš naujo, nes sistema nelygina, ar jos pasikeitė, ir medijos biblioteka išsipučia iki dešimčių gigabaitų.
Kokiu dažniu atnaujinti produktus?
Atnaujinimo dažnis nėra vienas skaičius. Skirtingi laukai keičiasi skirtingu greičiu, todėl automatizavimą skaidau į kelis atskirus procesus su savo tvarkaraščiu.
| Kas atnaujinama | Orientacinis dažnis | Kodėl |
|---|---|---|
| Likučiai | Kas 1–4 valandas | Parduota prekė, kurios tiekėjas nebeturi, yra brangiausia klaida: grąžinimas, nepatenkintas klientas, atsiliepimas |
| Kainos | Kartą per parą, naktį | Tiekėjai kainas keičia rečiau, o dažnas keitimas trikdo Merchant Center ir kainų palyginimo svetaines |
| Nauji produktai | Kartą per savaitę, į juodraštį | Naujiems produktams reikia peržiūros: kategorija, aprašymas, ar iš viso norite juos parduoti |
| Dingę produktai | Kartu su likučiais | Produktas ne trinamas, o paslepiamas arba pažymimas „nėra“, kad adresas ir pozicija Google išliktų |
Vienas niuansas, kurį dažnai praleidžia: kas atsitinka, kai tiekėjo failas laikinai neprieinamas arba tuščias. Blogai nustatyta sistema tokiu atveju visus produktus pažymi kaip išparduotus. Todėl kiekvienas atnaujinimas pirmiausia tikrina, ar failas sveikas ir produktų skaičius panašus į praėjusio karto, ir tik tada daro pakeitimus. Apie klaidą gaunate el. laišką, o ne sužinote iš kliento.
Kainų taisyklės: kaip iš tiekėjo kainos gauti savo?
Tiekėjo faile beveik niekada nėra kainos, kurią galite rodyti pirkėjui. Ten būna pirkimo kaina be PVM, kartais rekomenduojama mažmeninė kaina, kartais abi. Jūsų pardavimo kaina skaičiuojama pagal taisykles, kurias nustatome prieš importą ir kurios taikomos automatiškai per kiekvieną atnaujinimą.
Taisyklės, kurias naudoju dažniausiai:
- Antkainis procentais pagal kategoriją. Smulkiems priedams 60 %, technikai 15 %, nes rinka skirtinga.
- Minimalus antkainis eurais. Kad 3 € kainuojanti prekė su 20 % antkainiu neatsidurtų parduotuvėje už 3,60 €, kai vien pakavimas kainuoja daugiau.
- Apvalinimas. Iki 0,99 arba iki sveiko euro, kad kainos atrodytų tvarkingai, o ne 47,13 €.
- Rekomenduojamos kainos riba. Jei tiekėjas nurodo rekomenduojamą mažmeninę kainą, jūsų kaina jos neviršija, kad nebūtumėte brangiausi rinkoje.
- Išimčių sąrašas. Produktai, kurių kainą nustatote rankomis ir kurių importas neliečia.
Šios taisyklės svarbios ir reklamai: jei produktus siunčiate į Google prekių skelbimus, kaina svetainėje ir Merchant Center prekių feed'e turi sutapti iki cento, kitaip produktai atmetami. Kai kainas skaičiuoja viena taisyklių sistema, nesutapimų nebūna.
Automatinis produktų importas ar vienkartinis: kada kuris?
Automatizuotas tiekėjo katalogo importas kainuoja daugiau nei vienkartinis ir reikalauja priežiūros, todėl jis ne visada apsimoka. Mano taisyklė paprasta: skaičiuokite, kiek valandų per mėnesį praleidžiate rankiniu būdu keisdami kainas ir likučius. Jei daugiau nei kelias, automatizavimas atsiperka per pirmą pusmetį.
Vienkartinio importo užtenka, kai katalogas stabilus, produktų iki kelių šimtų, o kainos keičiasi porą kartų per metus. Tokiu atveju pigiau kartą per ketvirtį atsisiųsti naują failą ir atnaujinti rankiniu importu pagal SKU.
Automatizavimas būtinas, kai parduodate tiekėjo likučius be savo sandėlio, tai yra dirbate pagal dropshipping modelį, arba kai katalogas viršija tūkstantį produktų ir tiekėjas kainas keičia kas savaitę. Rankomis tokio katalogo neišlaikysite, o neatnaujinti likučiai kainuoja daugiau nei pats sinchronizavimas.
Kaip atrodo procesas praktiškai?
- Failo peržiūra. Atsiunčiate tiekėjo XML ar CSV nuorodą. Patikrinu struktūrą, laukus, ar yra unikalūs kodai, kiek produktų ir variantų, iš kur nuotraukos.
- Atitikmenų ir taisyklių lentelė. Surašome, kuris laukas kur keliauja, kaip skaičiuojamos kainos, kaip tiekėjo kategorijos susiejamos su jūsų medžiu.
- Testinis importas. Sukeliu 10–20 produktų ir peržiūrime kartu. Klaidos taisomos dabar, ne po tūkstančio produktų.
- Pilnas importas. Visas katalogas, nuotraukos konvertuojamos į WebP, variantai ir atributai patikrinami.
- Tvarkaraštis ir stebėjimas. Nustatomi atskiri procesai likučiams, kainoms ir naujiems produktams, įjungiami pranešimai apie klaidas. Pirmą savaitę stebiu kiekvieną atnaujinimą.
Kaip galiu padėti
Keliu produktus į WooCommerce iš „Excel“, CSV, tiekėjo XML ar API ir nustatau automatinį sinchronizavimą. Produktų importo paslauga kainuoja nuo 150 € iki 100 produktų, 350 € iki 500 produktų, didesniam katalogui — nuo 600 € po peržiūros. Automatinis sinchronizavimas su tiekėjo XML ar API, įskaitant kainų taisykles ir pranešimus apie klaidas, — nuo 400 €. Pradedame nuo nemokamos failo peržiūros: atsiunčiate tiekėjo nuorodą, pasakau, ką reikės sutvarkyti ir kiek tai kainuos.
Dažniausiai užduodami klausimai
Kuo skiriasi vienkartinis produktų importas nuo automatinio sinchronizavimo?
Vienkartinis importas sukelia katalogą į parduotuvę vieną kartą, o toliau produktus tvarkote patys. Automatinis sinchronizavimas reguliariai skaito tiekėjo failą ir atnaujina kainas, likučius bei naujus produktus be jūsų dalyvavimo. Pirmas tinka, kai katalogas keičiasi retai, antras — kai tiekėjas kainas ar likučius keičia kas dieną.
Kokį formatą geriau prašyti iš tiekėjo: XML ar CSV?
Jei tiekėjas siūlo abu, rinkitės XML su nuoroda internete, nes jį galima skaityti automatiškai ir jis geriau laiko sudėtingą struktūrą: variantus, kelias kategorijas, kelias nuotraukas. CSV tinka vienkartiniam importui ar rankiniam tvarkymui „Excel“, bet automatizuoti jį sunkiau, jei failą kas kartą reikia atsisiųsti rankomis.
Kaip dažnai reikia atnaujinti kainas ir likučius?
Dažnis priklauso nuo to, kaip greitai keičiasi tiekėjo duomenys ir kiek skausminga parduoti prekę, kurios nebėra. Dažniausiai likučiai atnaujinami kas 1–4 valandas, kainos — kartą per parą, o nauji produktai pridedami kartą per savaitę su rankine peržiūra. Dažniau nei kas valandą verta tik tada, kai tiekėjas tai leidžia ir serveris atlaiko.
Ar galiu importuoti tiekėjo aprašymus tokius, kokie yra?
Techniškai galite, bet tie patys aprašymai jau yra dešimtyse kitų parduotuvių, todėl Google jūsų puslapių beveik nerodys. Importą verta skaidyti: kainos ir likučiai atsinaujina automatiškai, o aprašymus, pavadinimus ir meta duomenis perrašote savo žodžiais — bent svarbiausiems produktams.
Ką daryti, jei tiekėjo faile nėra SKU?
Be unikalaus kodo sistema negali atpažinti, kuris produktas yra kuris, todėl kitą kartą atnaujinant vietoje atnaujinimo atsiras dublikatai. Jei SKU nėra, naudojamas kitas stabilus laukas: tiekėjo produkto ID, brūkšninis kodas (EAN) arba, blogiausiu atveju, kombinacija iš prekės ženklo ir modelio. Svarbiausia, kad jis nesikeistų tarp failo versijų.
Kiek kainuoja produktų importas iš tiekėjo katalogo?
Vienkartinis importas iki 100 produktų kainuoja 150 €, iki 500 — 350 €, didesniam katalogui kaina nuo 600 € ir fiksuojama po peržiūros. Automatinis sinchronizavimas su tiekėjo XML ar API — nuo 400 €. Dauguma tiekėjo failų reikalauja tvarkymo prieš importą, todėl pirmiausia peržiūriu failą ir tik tada pasakau tikslią kainą.