WooCommerce

https://woocommerce.github.io/woocommerce-rest-api-docs

Termék adatok

https://woocommerce.github.io/woocommerce-rest-api-docs/#product-properties

Woo→eVIR mező megfeleltetések: (WP/Woo → eVIR)

Mezők:

name → megnevezes

slug →

date_created →

date_modified →

type → „simple”

status → „publish”

catalog_visibility → „visible”

description → termék tulajdonságból a leírás, valamint a többi terméktulajdonság is név:érték formában, HTML formázással, valamint a cikkszám is.

short_description → termék tulajdonságból csak a leírás

sku → cikkszam

price → beállított árkategória szerinti ár

regular_price → beállított árkategória szerinti ár

sale_price → beállított árkategóriához tartozó akciós árkategória szerinti ár

on_sale → webshop akcios

virtual → termék esetén false, szolgáltatás esetén true

tax_status → „taxable”

manage_stock → webshop beállítás szerint

stock_quantity → webshop beállítás szerint

stock_status → webshop beállítás és készlet infó szerint

sold_individually → „true”

weight → cikktörzsben a bruttó súly

dimensions → cikktörzsben is átalakítani egy mező helyett 3-ra:

length →

width →

height →

upsell_ids → a kapcsolódó termékek

cross_sell_ids → a helyettesítő termékek

categories → cikktörzsből a kategória

tags → termék tulajdonság, címkék (még nincs evirben, de legyen létrehozva)

images → termék fő kép

attributes → termék tulajdonságok

Készlet

eVIR: „Nem látszik a webshopban”

Nincs tennivaló, az ilyen terméket nem is szinkronizáljuk

eVIR: „Végtelen mennyiség”

manage_stock → „false”

stock_status → „instock”

eVIR: „Rendelhető”

manage_stock → „false”

stock_status → „instock”

stock_quantity → a raktáron levő mennyiség

backorders → „yes”

eVIR: „Kifutó”

manage_stock → „true”

stock_status → „instock” ha van raktáron. Ha nincs, akkor a termék láthatóságát kell kikapcsolni

stock_quantity → a raktáron levő mennyiség

backorders → „no”

eVIR: „Csak készleten levő”

manage_stock → „true”

stock_status → „instock” vagy „outofstock” attól függően, hogy van-e készleten

stock_quantity → a raktáron levő mennyiség

backorders → „no”

eVIR: „Mennyiség mutatása”

manage_stock → „false”

stock_status → „instock” vagy „outofstock” készlettől függően

stock_quantity → a raktáron levő mennyiség

Termék tulajdonságok

Woo mezők:

name → a tulajdonság neve

visible → „true”

variation → „false”

options → a tulajdonság értéke

Termék kategóriák

Woo mezők:

name → a kategória neve

slug → a kategória neve

parent → a szülő kategória

description → a kategória neve

display → „default”

Termék képek

Nem a WooCommerce, hanem a Wordpress mediatár tartalmazza a képeket. A feltöltéséhez wordpress felhasználó szükséges.

https://developer.wordpress.com/docs/api/

WP mezők:

title → a kép neve

description → a kép neve

alt_text → a kép neve

Woo mezők:

id →

date_created →

src → WP URL

name → megegyezik a wp.title-vel → a kép neve, ami a cikk megnevezése

alt → megegyezik a wp.alt_text-el → a cikk megnevezése

Ugyan ide ugyan ilyen módon kell feltölteni a termékhez rendelt dokumentumokat is, csak ott értelemszerűen nem képekről van szó

Adatoknak a kategorizálása

Az adatokat kategóriákba lehet sorolni:

alapadatok:

ez a cikkszám, megnevezés, áfa, tipus

készletkezelés

kezelés módja (manage_stock és kapcsolódó mezők)

ár mezők:

price mezők, on_vale

kategória

cikk kategóriák és a hierarchiája

tulajdonságok

Ami a cikk tulajdonságok, ide értendőek a descriptionok is

képek

dokumentumok

Minden egyes kategóriának kell lennie:

feltöltés

szinkronizálás

műveleteknek, amelyeket a felületről el kell tudni érni, valamint biztosítani kell az időzített futtathatóságot. Ez egyelőre cron-ból hívott tokenes lekérés lesz, de a jövőben változik.

Feltöltés

A feltöltés célja kettős:

A rendszer indulásakor feltölteni az eVIR-ből a webshopba az adatokat

Az üzemeltetés során bármikor „alaphelyzetbe” hozni az adatokat, azaz a webshopban történt elállítgatásokat helyrehozni, visszaállítani abba az állapotba, amiről az eVIR tud. Feltöltés esetén NEM vizsgálunk semmit, nem függ semmitől semmi, egyszerűen fel kell tölteni az adatokat a webshopba. Ha szükséges az ütközés miatt, akkor lehet előtte törölni, vagy bármit csinálni, de akkor is feltétel nélkül az eVIR-ben levő állapotra kell beállnia minden mező minden értékének. Ez a művelet jellemzően egyszer vagy nagyon ritkán (hetente, havonta?) fog lefutni. Nem az a lényeg, hogy mennyi idő alatt fut le, hanem hogy lefusson és erről visszajelzés érkezzen.

Szinkronizálás

A szinkronizálás célja az utolsó szinkronizálás óta változott adatok gyors felküldése a shopba. Ezek a műveletek akár pár percenként is lefuthatnak, ezért kritikus a leggyorsabb futásra és a legkevesebb erőforrás használatra való optimalizálás.

alapadatok esetében a cikk modify_date-je alapján lehet

készlet esetén az eVIR belső auditja alapján érintett termékeknél

árak esetén is a modify_date esetén

Előfordulhat, hogy mondjuk napi időzítéssel (de külön-külön) mehetnek a képek és dokumentumok, cikk kategóriák szinkronizálása is. Ebben az esetben nem lesz gyors, mivel csak összehasonlítás alapon lehet megcsinálni, azaz le kell tölteni a teljes listát Woo-ból, összehasonlítani az eVIR-ben levővel, és csak a változásokat feltölteni.

Több WooCommerce shop támogatása

Távlati terv lett volna, de akkor hozzuk előre: több webshop (benne akár több woocommerce) támogatása. Ez azt jelenti, hogy multiplicitást kell adni azoknak a mezőknek, amelyek shoponként különbözőek lehetnek:

webshop beállítás

webshop akciós

webshop árkategória

webshop raktár

webshoponként a termék kategóriák beállítása

webshoponként az alapadatok (URL, user, pass, stb.)

A jelenlegi beállítások akár madahatnak is a helyükön és azok dedikáltan az eVIR saját webshopjára vonatkozzanak, és ezek az extrák legyenek külön feltüntetve, külön állítgathatóan.