Hogyan számíts egyedi oszlopokat termék-feedekben (a katalógus érintése nélkül)
Építs számított oszlopokat az easySales Dynamic feedjében — minimumár, második pénznemben megadott ár, elérhető készlet — egy jellemző, egy oszlop és egy Feed szabály képlettel. A katalógus érintetlen marad.
Előbb-utóbb minden Dynamic feedet üzemeltető kereskedő ugyanabba a falba ütközik: a partner olyan oszlopot kér, ami nincs a termékeken. Egy árazási partner min_price küszöböt akar. Egy B2B disztribútor eur_price-ot akar a helyi ár mellett. Egy 3PL available_stock oszlopot akar — fizikai készlet mínusz a már lefoglalt mennyiség. Az oszlopok nincsenek a katalógusban. Az adatokat nem érdemes minden terméken tárolni. De a partner enélkül nem fogadja el a fájlt.
Erre szolgálnak a számított oszlopok az easySales Dynamic feedjében. Definiálod az oszlopot a feedben, írsz egy rövid képletet, és az easySales minden újragenerálásnál kiszámítja az értéket. A katalógus tiszta marad. Semmi nem kerül mentésre magukon a termékeken.
Miért építenek a kereskedők számított oszlopokat
A „számított oszlop" olyan oszlop, amelynek értéke a feed generálásakor számolódik ki — sehol nincs eltárolva. Csak a publikált fájlban létezik, semmi máshol.
Három minta jön elő újra meg újra:
- Padlók és plafonok. Egy árazási partner a legalacsonyabb árat akarja, amit elfogadsz. Nem akarod ezt termékadatként tárolni (csatornánként, kampányonként, marzspolitikánként változik). Egy képlet beszerzési árból + marzsból származtatja minden exportkor.
- Többpénznemes feedek. A piacodon kívüli partner a saját pénznemében akar árat. Pénznemenként párhuzamos árat tárolni nem skálázódik; menet közben konvertálni igen.
- Számított elérhetőség. A partnernek azt kell látnia, ami valóban rendelhető, nem ami a polcon van.
készlet - foglalt_készletegy oszlopkivonásnyira van.
A közös tulajdonság: az érték más termékértékek függvénye, és a feed minden újragenerálásakor újraszámolódik. Minden terméken tárolni azt jelentené, hogy a bemenetek minden változásakor minden terméket frissíteni kell — felesleges karbantartási teher.
Hogyan működik egy számított oszlop az easySalesben
Három darab, egyenként öt másodperc munka:
- Egy jellemző — az érték helye. Egyszer hozod létre, adsz neki nevet, és üresen hagyod minden terméken.
- Egy Dynamic feed oszlop — a vezeték, ami a jellemzőt a kimeneti fájlba viszi.
- Egy Feed szabály képlet művelettel — a számítás, ami az exportkor kitölti a helyet.
A hely üres marad a katalógusban. A szabály kitölti az export közben. Az oszlop megjeleníti a kitöltött értéket a fájlban. Három kis darab, egy-egy jól meghatározott munka. Hozzáadod a szabályt, újragenerálsz, az érték megjelenik. Eltávolítod a szabályt, újragenerálsz, az érték eltűnik — anélkül, hogy bármely termék valaha is változott volna.
1. lépés: Hozd létre a jellemzőt
Nyisd meg a Katalógus → Jellemzők menüt és hozz létre egy új jellemzőt. Adj neki egyértelmű nevet — az, amit a partner vár a fájlban, jó választás.
Példák: Minimumár, EUR ár, Elérhető készlet.
Nem kell értéket beírnod egyik termékre sem. A lényeg, hogy ez a jellemző egy célhely a képletnek, nem valódi termékattribútum. Mentsd el és lépj tovább.
Pár névadási tipp:
- Olyan neveket válassz, amiket fél év múlva is felismersz.
Minimum eladási ár (HU)jobb, mint amin_price_hu_v2. - Ha ugyanazt az értéket több feedben használod, használj egyetlen jellemzőt mindenhol. A számított értékek feed-szintűek (a szabály a feeden él), így ugyanaz a jellemző különböző feedekben különböző számított értékeket tárolhat ütközés nélkül.
- Kerüld azokat a jellemzőket, amelyeken már van termékadat. Ha a
Feszültségvalódi katalógusmező, ne használd számított résként — válassz másik nevet. A számított értékek a memóriában felülírják a meglévő pivot-ot; a feed renderelés idejére elveszítenéd a valódi értékeket.
2. lépés: Add hozzá a Dynamic feedhez
Nyisd meg a Dynamic feedet. Az oszlopkészítőben adj hozzá egy új sort, válaszd ki a Jellemző opciót az oszlopok közül, majd válaszd ki a most létrehozott jellemzőt a láncolt választóból.
Az oszlop megjelenik a kimeneti fájlban. A cella értéke abból jön, amit a szabály számol minden termékre.
Ha a partner adott nevet vár az oszlophoz — min_price a Minimumár helyett, price_eur az EUR ár helyett — használd az Átnevezés mezőt az oszlop mellett. Az átnevezett érték az, ami CSV-fejlécként / JSON-kulcsként / XML-elemnévként megjelenik; az UI többi része a saját nevedet tartja meg. Az átnevezés minden Dynamic feed oszlopon működik, számítotton vagy sem — ugyanaz a mező, ahol a partner más nevet vár, mint az easySales belső megnevezése.
3. lépés: Írd meg a Feed szabályt, ami számolja az értéket
Válts a Feed szabályok fülre ugyanazon a feeden. Adj hozzá egy szabályt:
- Ha:
MINDIG(vagy egy feltétel — lásd lent). - Akkor: válaszd ki a létrehozott jellemzőt mint tulajdonság, válaszd a képlet operátort, majd írd meg a képletet.
A képletszerkesztő chip-paletta van a használható változókkal:
${product.product_sale_price},${product.product_full_price}— listázott árak, ÁFA nélkül.${product.product_acquisition_price}— a beszerzési ár.${product.product_tax_rate}— a termék ÁFA-kulcsa egész számként (pl.19,20,27). Oszd el 100-zal szorzóvá alakításhoz —1 + ${product.product_tax_rate} / 1001.27-et ad 27%-os kulcsra, ezzel szoroznád meg a nettó árat a bruttóhoz.${product.product_characteristic:<név>}— másik jellemző olvasása név alapján (kis-nagybetű érzékeny). Hasznos láncoláshoz: egy jellemzőre alapértéket írsz, majd egy másik jellemző képletéből hivatkozol rá.${product.product_meta_field:<kulcs>}— egyedi termék-metamező olvasása kulcs alapján.${product.product_price_group:<id>}— szerződéses árcsoport-ár olvasása erre a termékre.${other.currency_rate:FROM:TO}— élő árfolyam két ISO pénznem-kód között (pl.HUF:EUR,EUR:USD).round(<kifejezés>, <tizedesek>)— fix pontosságra kerekíti az eredményt.
Operátorok: +, -, *, /, zárójelek csoportosításhoz. Standard aritmetika.
Néhány oszlop szándékosan nem érhető el képletváltozóként — készlet, foglalt_készlet, súly és más nem-ár oszlopok. Ezekből érték kiszámításához használd a Feed szabály aritmetikai művelet-operátorait (felülírás, kivonás, szorzás, összeadás) a képlet helyett. Az alábbi Elérhető készlet recept mutatja a mintát.
Mentsd a szabályt. A következő újragenerálás minden termékre lefuttatja, kitölti a jellemzőt a memóriában és megjeleníti az értéket a fájlban. A termékkatalógus érintetlen marad — a jellemzők oldal olyan üres marad, ahogy hagytad.
Ha csak bizonyos termékekre akarod alkalmazni a képletet (egy kategória, készleten lévő termékek, egy márka termékei), adj feltételeket a Ha oldalon: jellemző alapján, oszlop alapján, kategória alapján — bármi, amit a szabálykészítő támogat.
Valós receptek
Minimumár egy árazási partnerhez
Egy árazási partnernek küszöb kell — az ár, ami alá nem mehet. Ezt nem akarod minden terméken tárolni (változik a költségek vagy marzspolitika változásakor), úgyhogy számolod.
- Jellemző neve:
Minimumár - Oszlop átnevezés:
min_price - Képlet:
round(${product.product_acquisition_price} * 1.15, 2)— beszerzés + 15% marzs.
Csatornánként állítsd a szorzót különböző feedekben írt különböző szabályokkal. Ugyanaz a jellemző, különböző képletek, különböző fájlok. A katalógus mindebből semmit nem lát. A 3. lépésnél lévő képernyőkép pontosan ezt a szabályt mutatja konfigurálva.
Második pénznemű ár egy határon átnyúló partnerhez
A partnered másik piacon van és a saját pénznemében szeretne árat. Az easySales beépített árfolyam-függvénnyel rendelkezik, így nem kell párhuzamos árlistát tartani.
- Jellemző neve:
EUR ár - Oszlop átnevezés:
price_eur - Képlet:
round(${product.product_sale_price} * ${other.currency_rate:HUF:EUR}, 2)— cseréld aHUF:EUR-t a számodra megfelelő FROM:TO párra.
Az árfolyamok napi automatikus frissítéssel jönnek — az easySales központi forrásból húzza őket, így nincs párhuzamos tábla. Ha a partnernek szerződéses időszakra stabil árfolyam kell (nem az élő), írj a támogatásnak és kitaláljuk a megoldást.
Elérhető készlet (fizikai mínusz foglalt)
A partner azt a készletet látja, amit közzéteszel; ha ez a polcon lévő szám és nyitott rendelések vannak, túlkiadsz. A megfelelő közzéteendő szám az available-to-promise: fizikai készlet mínusz a nyitott rendeléseken foglalt.
A készlet és a foglalt_készlet nem érhetők el képletváltozóként, ezért ez a recept egyáltalán nem használja a képlet operátort. Helyette két aritmetikai műveletet láncolsz ugyanazon a jellemzőn — az első az alapot írja, a második módosítja.
- Jellemző neve:
Elérhető készlet - Oszlop átnevezés:
available_stock - 1. művelet: cél =
Elérhető készlet, operátor = felülírás ezzel, forrás = akészletoszlop. (A jellemzőt a termék készletértékére állítja.) - 2. művelet (az első alá adva, ugyanazon a szabályon): cél =
Elérhető készlet, operátor = kivonás, érték forrása = mező, oszlop =foglalt_készlet. (Levonja a foglalt készlet oszlopot a futó értékből.)
Két művelet, egy szabály, fentről lefelé. Az első írja az alapot; a második módosítja. Láncolhatsz egy harmadik műveletet (összeadás / kivonás literál számmal szemben), ha a fulfillment matekod fix biztonsági készlet puffert igényel.
Bármely oszlop átnevezése a kimenetben
Az Átnevezés mező minden oszlop mellett megjelenik a Dynamic feed készítőjében, nem csak a számítottak mellett. Használd, amikor a partner más nevet vár, mint az easySales belső megnevezés — price a full_price helyett, cost a sale_price helyett, inventory a stock helyett.
Két megjegyzés:
- Az átnevezés a fájl-kimenetre vonatkozik: CSV-fejléc, JSON-kulcs és XML-elemnév. Az UI máshol az easySales neveket használja, hogy te és a csapatod ne tévedjetek el.
- Az XML-elemneveknek szigorúbb szabályaik vannak, mint a CSV-nek vagy JSON-nak. Ha az átnevezésed szóközöket vagy írásjeleket tartalmaz, az easySales automatikusan szanitálja XML-hez —
Min ár (HUF)min_ar_huf_lesz a<min_ar_huf_>címkékben. A CSV-fejlécek és JSON-kulcsok pontosan megtartják, amit beírtál.
Ha két oszlop ugyanarra a kimeneti névre nevezi át magát, a feed-készítő blokkolja a mentést és megmutatja, melyik ütközik. Válassz egyedi nevet és menthető lesz.
Mikor NE használj számított oszlopot
- Valódi termékattribútumok. Ha az adat természetes módon a terméken él (Szín, Méret, Feszültség, EAN), használj sima jellemzőt és tárold. A számított oszlopok olyan értékekhez valók, amelyek nem a katalógusra valók.
- Csatornánkénti kategória-mappingek. Ha a partner Google Shopping kategória-id-t, Skroutz kódot vagy bármilyen leképezést kér a kategóriádtól az övéire, használd a csatorna-specifikus feed-készítőt — az elő-validált és megspórolja a leképezési munkát. A Dynamic feed a nyitott opció olyan partnerekhez, akikhez nincs dedikált készítőnk. Lásd Mi az a termék-feed? bevezetésért a csatorna-feedekbe.
- Statikus, fix értékek. Ha minden termék ugyanazt az értéket kapja (
condition: új,availability: készleten), használd a értékre állítás akciót egy normál oszlopon ahelyett, hogy jellemzőt szintetizálnál — egy mozgó alkatrésszel kevesebb.
Ha nem vagy biztos benne, hogy egy oszlop számított, tárolt vagy fix legyen, a támogatás megnézheti az adott esetet. A „számított vagy tárolt?" kérdések többsége két perc alatt megoldódik, miután felvázolod a használati esetet.
Építsd meg azokat az oszlopokat, amelyeket a partnereid valóban kérnek
Nyisd meg a Feedek → Dynamic menüt az easySalesben és állíts elő partner-kész fájlt számított oszlopokkal pár perc alatt. Új vagy itt? Próbáld ki az easySalest 14 napig ingyen, bankkártya nélkül.