Bundle tuotteiden vienti ja tuonti CSV -tiedostoilla
Opi helpot keinot viedä ja tuoda Bundle-tuotteita käyttämällä CSV-tiedostoja!
Sisällysluettelo
AI Commerce -alustan tuotekonfiguraatioissa (bundle-tuotteissa) voi joskus olla tarpeen päivittää tai lisätä useita “optioita” (bundle_options) ja “valintoja” (bundle_selections) useille tuotteille kerralla. Tähän on toteutettu CSV Export / Import -työkalut, joiden avulla voit massamuokata tietoja Excelin tai vastaavan ohjelman kautta.
- CSV Export mahdollistaa olemassa olevien tietojen hakemisen ulos – näet samat sarakkeet ja niiden oletusarvot, joita alusta odottaa Import-vaiheessa.
- CSV Import puolestaan lukeutuu aiemmin luodun CSV-tiedoston sisällön ja päivittää/muodostaa vastaavat tiedot järjestelmään.
Käyttöliittymästä löytyy seuraavat neljä painiketta Catalog-sivulla:
- CSV Export Bundle Options
- CSV Import Bundle Options
- CSV Export Bundle Selections
- CSV Import Bundle Selections
Hyvä käytäntö on ensin luoda jokin esimerkkibundle käyttöliittymässä, testata että se toimii, ja vasta sitten tehdä Export CSV -tiedosto. Tällöin näet tarkasti, mitkä sarakkeet ja arvot CSV-ympäristöön syntyvät. Voit käyttää tätä vientitiedostoa pohjana tuleville massamuokkauksille ja Importeille. Näin vältyt virheiltä ja opit lomakkeen rakenteen parhaiten.
Lisäksi otathan varmuuskopion (esim. talletat export-tiedoston turvalliseen paikkaan), ennen kuin teet laajamittaisia muutoksia. Näin, jos jokin menee pieleen, voit aina palata tuttuun toimivaan tilanteeseen palauttamalla sen CSV:n, joka on varmasti testattu.
Export Bundle Options
Painikkeen “CSV Export Bundle Options” kautta saat ulos CSV-tiedoston, jossa on otsikkorivillä nämä sarakkeet:
Sarake | Kuvaus |
---|---|
option_code | Bundle-optioon liittyvä koodi (esim. option_5 tai valitsemasi kuvainnollisempi tunniste). |
parent_sku | Bundlen “päätuotteen” (parent) tuotemalli , esim. ABC-123 . |
required | Onko optio pakollinen (1) vai valinnainen (0). |
position | Järjestysluku (pienempi numero = näytetään ensimmäisenä). |
type | Optiolle valittu tyyppi (esim. radio , checkbox ). |
language_code | Kielikoodi (esim. fi , en ) – kertoo, mille kielelle title ja description kuuluvat. Kielet löydät Locals & Taxes > Languages. |
title | Näytettävä otsikko ko. kielessä. |
description | Näytettävä lisäteksti / selite ko. kielessä. |
CSV-tiedoston jokainen rivi vastaa yhtä (option + kieli) -yhdistelmää. Jos samalle optiolle on useampi kieli, niitä näkyy useampi rivi.
Export Bundle Selections
Painikkeen “CSV Export Bundle Selections” tuloksena on toinen CSV, jossa on sarakkeet:
Sarake | Kuvaus |
---|---|
option_code | Kertoo, mihin bundle-optioon tämä valinta (selection) liittyy (esim. option_5 ). |
parent_sku | Bundlen päätuotteen tuotemalli . |
sku | Valittavan “lapsituotteen” tuotemalli . |
position | Järjestysluku. |
is_default | Onko kyseinen lapsituote valittu oletuksena (1) vai ei (0). |
selection_price_type | 0 = “kiinteä hinta” kentässä selection_price_value , 1 = “linkitetty”/lisättävä hinta. |
selection_price_value | Hinnan määrä (esim. 9.99 ). Jätetään usein tyhjäksi, jos käytetään linkitettyä hinnoittelua. |
selection_qty | Oletusmäärä (esim. 1 ). |
selection_can_change_qty | Saako asiakas muuttaa määrää (1) vai onko lukittu (0). |
Jokainen rivi vastaa yhtä valintaa tietyssä optiossa. Jos samaan optioon on liitetty monta lapsituotetta, kukin näkyy omalla rivillään.
Import Bundle Options
Painikkeen “CSV Import Bundle Options” avulla voit lisätä tai päivittää optioita. CSV-tiedoston sarakkeet odotetaan samassa järjestyksessä ja otsikolla kuin Exportissa:
option_code; parent_sku; required; position; type; language_code; title; description
-
option_code
- Jos
option_code
-arvo löytyy jo tietokannasta, optiota päivitetään (required, position, type, yms.). - Jos
option_code
-arvo puuttuu (tyhjä) tai ei löydy tietokannasta, luodaan kokonaan uusi optio.- Tällöin alusta generoi automaattisesti “option_{ID}”, missä ID on tietokantaan syntynyt
option_id
.
- Tällöin alusta generoi automaattisesti “option_{ID}”, missä ID on tietokantaan syntynyt
- Jos
-
parent_sku
- Haetaan vastaava
products_id
päätuotteesta. Jos tuotetta ei löydy, rivi ohitetaan.
- Haetaan vastaava
-
required, position, type
- Päivitetään sellaisenaan
catalog_product_bundle_option
-tauluun.
- Päivitetään sellaisenaan
-
language_code
- Etsitään
languages
-taulusta (esim.fi
,en
...). Jos ei löydy, rivi ohitetaan.
- Etsitään
-
title, description
- Tallennetaan
catalog_product_bundle_option_value
-tauluun. Jokaisessa rivissä on vain yksi kieli.
- Tallennetaan
Huom. Jos
option_code
puuttuu, järjestelmä luo sen automaattisesti, mutta on suositeltavaa antaa koodit itse, jolloin niitä on helpompi hallita ja päivittää.
Import Bundle Selections
Painikkeen “CSV Import Bundle Selections” kautta lisätään tai päivitetään optiolle kuuluvia lapsituotteita. CSV odottaa sarakkeita:
option_code; parent_sku; sku; position; is_default; selection_price_type; selection_price_value; selection_qty; selection_can_change_qty
-
option_code
- Haetaan
catalog_product_bundle_option.option_code
. Jos koodia ei löydy, rivi ohitetaan (voisi halutessa luoda optiota vastaavan minimaalisena, mutta koodissa on toteutettu “skip”).
- Haetaan
-
parent_sku
- Päätuotteen
tuotemalli
, haetaanproducts_id
. Pakollinen, muuten ohitetaan.
- Päätuotteen
-
sku
- Lapsituotteen
tuotemalli
, etsitäänproducts_id
. Jos puuttuu, ohitetaan.
- Lapsituotteen
-
position, is_default, selection_price_type jne.
- Tallennetaan tai päivitetään
catalog_product_bundle_selection
-tauluun:- Jos kyseinen (option_id + sku) löytyy jo, se päivitetään.
- Muuten lisätään uutena rivinä.
- Tallennetaan tai päivitetään
CSV-tiedostojen formaatti ja suositukset
1. Koodaus UTF-8
On tärkeää, että CSV-tiedosto on tallennettu UTF-8-muodossa (ilman BOM-merkkiä), jotta ääkköset ja erikoismerkit näkyvät oikein.
2. Sarakkeiden järjestys ja nimet
Export- ja Import-toiminnallisuudet odottavat sarakkeet juuri tietyssä järjestyksessä ja tietyillä otsikoilla. Kannattaa aina aloittaa yhdellä Exportilla, jota muokkaat ja Importoit takaisin.
3. Varmuuskopiot
Ennen laajoja Importteja, tee varmuuskopiot. Tallenna Export-faili esimerkiksi “backup_bundles_options.csv”-nimellä, jotta voit palauttaa sen, jos jokin menee pieleen.
4. Option_code
- Yllä mainitun mukaisesti voit antaa omat koodit (esim.
option_putkihattu_001
), tai jättää kentän tyhjäksi, jolloin järjestelmä luo automaattisesti nimen “option_{ID}”. - Päivittäminen perustuu
option_codeen
; jos se puuttuu, käsitellään se oletuksena uutena optiona.
5. Pää- ja lapsituotteen viittaukset
- Järjestelmä hakee
products_id
-kentänsku
-arvon perusteella. Tarkista, että tuotenumerot (SKU:t) on luotu ennakkoon. - Mikäli
parent_sku
taisku
ei kelpaa (tuotetta ei löydy), rivi ohitetaan.
Esimerkkitaulukot
bundle_options.csv (Export / Import)
option_code | parent_sku | required | position | type | language_code | title | description |
---|---|---|---|---|---|---|---|
option_5 | ABC-123 | 1 | 1 | radio | fi | Kiinnikkeet | Valitse 2 kpl kiinnikkeitä... |
option_5 | ABC-123 | 1 | 1 | radio | en | Fixtures | Select 2 fixtures... |
option_6 | ABC-123 | 0 | 2 | checkbox | fi | Jalusta | Valitse jalusta... |
- option_code = Koodi, jota käytetään päivityksissä ja linkityksissä.
- parent_sku = Päätuotteen SKU.
- required = Onko optio pakollinen.
- position = Järjestys (1, 2, 3...).
- type =
radio
,checkbox
.- language_code = Kielitieto (esim.
fi
).- title / description = Näyttötekstit ko. kielellä.
bundle_selections.csv (Export / Import)
option_code | parent_sku | sku | position | is_default | selection_price_type | selection_price_value | selection_qty | selection_can_change_qty |
---|---|---|---|---|---|---|---|---|
option_5 | ABC-123 | KNI-001 | 1 | 1 | 0 | 0.00 | 2 | 1 |
option_5 | ABC-123 | KNI-002 | 2 | 0 | 1 | 1.50 | 1 | 0 |
option_6 | ABC-123 | JAL-100 | 1 | 0 | 0 | 0.00 | 1 | 1 |
- option_code = Mihin optioon lapsituote kuuluu.
- parent_sku = Päätuote (SKU).
- sku = Lapsituotteen SKU.
- position = Näyttöjärjestys saman option sisällä.
- is_default = Onko valinta oletuksena aktiivinen (radio/checkbox).
- selection_price_type = 0 = kiinteä hinta, 1 = “linkitetty”.
- selection_price_value = Hinnan määrä (esim. 9.99). Voi olla 0.00 tai tyhjä, jos linkitetty.
- selection_qty = Oletusmäärä.
- selection_can_change_qty = Saako asiakas muuttaa määrää.
Rajoitukset & huomioitavaa
-
UTF-8 -koodaus:
CSV-tiedosto pitää tallentaa muodossa UTF-8 (ilman BOM-merkkiä), jotta erikoiskirjaimet eivät aiheuta ongelmia. -
Pakolliset kentät:
-
Options-importissa
parent_sku
jatype
sekä jokooption_code
tai tyhjä → syntyy uusi. -
Selections-importissa
option_code
,parent_sku
,sku
ovat kriittisiä.
-
Options-importissa
-
Ei virheenkorjausta:
Jos sarakkeiden määrä ei täsmää taiparent_sku
/sku
ei löydy, rivi yleensä ohitetaan. Tarkista lokista tai ruudulla näkyvistä viesteistä, jos ongelmia ilmenee. -
Tuotteiden olemassaolo:
On hyvä varmistaa, että sekä pää- että lapsituotteet on luotu järjestelmään, ennen kuin importoit bundlet. -
option_code
- Vahva suositus on asettaa pysyvä koodi, jotta päivityksistä tulee helpompia. Jos jätät sen tyhjäksi, järjestelmä keksii “option_123”, mikä ei ehkä ole yhtä kuvaava.
Yhteenveto
CSV-pohjainen massamuokkaus on tehokas keino hallita AI Commerce -alustan bundle-tuotteita, etenkin jos tuotteita on paljon. Prosessi on kuitenkin herkkä oikeille sarakenimille, -järjestyksille, ja oletuksille. Suosittelemme ensin luomaan muutaman testibundlen UI:n kautta, tekemään Exportin, katsomaan syntyvää CSV-rakennetta, ja vasta sitten tekemään laajamittaisen Importin.
Muista aina:
- Käytä varmuuskopioita (Export ennen Importia).
- Tallenna CSV UTF-8 -muodossa.
- Noudata sarakeotsikoita & järjestystä, jotka Export-skripti näyttää.
-
Tarkista SKU:t (
parent_sku
,sku
) ja kielikoodit (language_code
). - option_code on yksilöivä tunniste valinnoille. Jos se puuttuu, luodaan uusi optio.
Näillä ohjeilla ja testatuilla CSV-pohjilla pystyt varmemmin hallitsemaan ja ylläpitämään laajoja bundle-kokonaisuuksia ilman virheitä!