# Termékek

> Terméktípusok, változó termékek, a termékek triggerszabályai, valamint a létrehozás, frissítés, ár- és készletmódosítás és keresés műveletei.

A termékadatokat elküldheted a Zapierbe, vagy külső forrásból hozhatsz létre és frissíthetsz termékeket.

## Terméktípusok

A WooCommerce többféle terméktípust tartalmaz. A bővítmények további típusokat és adatmezőket adhatnak hozzá (lásd a [Kompatibilitás](zapier-integracio-kompatibilitas/) fejezetet).

### Funkciók terméktípusonként

| Terméktípus | Triggerek | Műveletek és keresések | Rendelési környezetben |
|---|---|---|---|
| Egyszerű termék | igen | igen | igen |
| Csoportos termék | igen | igen | nem értelmezhető |
| Külső/partnertermék | igen | igen | nem értelmezhető |
| Változó termék | igen | igen | igen |
| Foglalható termék (Bookings) | igen | igen | igen |
| Egyszerű előfizetés (Subscriptions) | igen | igen | igen |
| Változó előfizetés (Subscriptions) | igen | igen | igen |

### Elérhető adatok terméktípusonként

| Terméktípus | Készlet | Szállítás | Attribútumok | Változatok |
|---|---|---|---|---|
| Egyszerű termék | igen | igen | igen | nem értelmezhető |
| Csoportos termék | nem értelmezhető | nem értelmezhető | igen | nem értelmezhető |
| Külső/partnertermék | nem értelmezhető | nem értelmezhető | igen | nem értelmezhető |
| Változó termék | igen | igen | igen | igen |
| Foglalható termék | nem értelmezhető | igen | igen | nem értelmezhető |
| Egyszerű előfizetés | igen | igen | igen | nem értelmezhető |
| Változó előfizetés | igen | igen | igen | igen |

### Termékadatok rendelési környezetben

Bár minden rendelésnek van egy vagy több tétele, nem minden termékadat szerepel a rendelés tételeiben. Ha további termékadat kell egy rendelés mellett, tegyél a Zapbe egy **Find Product** lépést.

## Változó termékek

A WooCommerce-ben a változó termék több összekapcsolt termékből áll. A szülő termék a közös adatokat tartalmazza, és változó típusú. Minden változat külön termékként (termékváltozatként) tárolódik, és a kiválasztott attribútumokat hordozza: egy változatnak van saját ára, cikkszáma vagy készlete.

A Zapierben a változó termék `variations` mezőjében látod a hozzá tartozó változatok azonosítóit, a változat `parent_id` mezőjében pedig a változó termék azonosítóját. A változat neve nem szerkeszthető közvetlenül a WooCommerce-ben: a használt attribútumokból és a kiválasztott értékekből áll össze automatikusan.

### Változó termék küldése és fogadása

A triggerek a változó termékeket és a változatokat is támogatják, nincs eltérés más terméktípusoktól. A **Product created** vagy **Product updated** szabály változó terméknél minden változathoz külön feladatot küld a szülő termék feladata mellett. A műveletek a változatokra is működnek: létrehozhatsz, frissíthetsz és kereshetsz változó terméket és egyes változatait is.

### Változó termék rendelési tételként

A rendelés-triggerekben, ha egy tétel változó termék, a WooCommerce a szülő és a kiválasztott változat adatait egyesíti. A `line_items` → `product_id` (és néhány további mező) a változó terméket jelöli, az információk többsége azonban a használt változatból jön. A ténylegesen használt azonosítót a `line_items` → `variation_id` mutatja.

Rendelési műveleteknél és keresésekben változó terméket akkor adhatsz egy rendeléshez, ha ismered a változat azonosítóját vagy cikkszámát, és a termék már létezik a boltban. Ha Zappel hozol létre rendelést változó termékhez, a változat cikkszámát (SKU) érdemes használni az azonosító helyett.

| Mező | Forrás |
|---|---|
| Line Items → Product Id | változó termék |
| Line Items → Variation Id | termékváltozat |
| Line Items → Name | termékváltozat |
| Line Items → Price | termékváltozat |
| Line Items → Sku | termékváltozat |
| Line Items → Tax Class | változó termék |

## Triggerszabályok

| Szabály | Mikor fut le |
|---|---|
| **Product created** | amikor a terméket először mentik a WooCommerce-ben, a vázlat és privát termékeket is beleértve. A WordPress automatikus vázlatai (amelyeket a blokkszerkesztő az első mentés előtt csendben létrehoz) nem számítanak. Változó terméknél minden változatra és a szülőre is lefut |
| **Product deleted** | amikor a termék a kukába kerül, egyszerű termékeknél és változatoknál is. A végleges törlés nem indítja. Csak az `ID`-t küldi |
| **Product restored** | amikor egy kukába tett terméket visszaállítanak, termékeknél és változatoknál is |
| **Product published** | amikor a termék közzétett állapotra vált (a kukából való visszaállításkor is). Nem fut le, ha egy már közzétett terméket frissítenek: arra a **Product updated** való. Legalább WooCommerce 10.8 szükséges hozzá |
| **Product stock low** | amikor egy termék vagy változat készlete eléri vagy a küszöb alá csökken |
| **Product stock status changed** | amikor egy meglévő termék vagy változat készletállapota változik. Létrehozáskor nem fut le |
| **Product updated** | amikor egy meglévő terméket frissítenek. Változó terméknél minden változatra és a szülőre is lefut. Létrehozáskor nem fut le. Ha egy készletmódosítás a készletállapotot is megváltoztatja, a **Product stock status changed** mellett is lefut |

> Tipp: mivel a **Product created** a vázlat és privát termékekre is lefut, a Zap előbb futhat le, mint hogy bárki látná a terméket. Ha csak akkor akarod indítani, amikor a termék élesbe kerül, használd a **Product published** szabályt. Ha WooCommerce 10.8 vagy újabb fut, a termék visszaállítása a **Product published** szabályt is elindítja, mert a termék ugyanabban a lépésben visszakerül közzétett állapotba.

### Product stock low

Csak akkor fut le, ha a mennyiség lefelé átlépi a küszöböt. Nem fut le, ha a termék eleve a küszöb alatt jön létre, ha a mennyiség a küszöb átlépése után tovább csökken, és akkor sem, ha a terméken ki van kapcsolva a készletkezelés.

Az alapértelmezett alacsony készlet küszöbét a **WooCommerce → Beállítások → Termékek → Készlet** oldal **Alacsony készlet küszöb** mezőjében adhatod meg. Termékenként is beállíthatod: a termék szerkesztésénél a **Termék adatok → Készlet → Alacsony készlet küszöb** mezőben. Változatoknál a **Termék adatok → Változatok** fülön minden változatnál külön adhatod meg, és minden változatot külön mentened kell.

Ezek a szabályok csak akkor működnek, ha a készletkezelés be van kapcsolva a boltban, és a terméken is. A bolt szintjén a **WooCommerce → Beállítások → Termékek → Készlet** oldal **Készletkezelés engedélyezése** beállítása (alapból be van kapcsolva). A terméknél: **Termék adatok → Készlet → Készletkezelés** részen a **Készlet követése ennél a terméknél** jelölőnégyzettel. Változatnál a változat szerkesztésénél a **Készletkezelés?** négyzettel.

### Product stock status changed

A WooCommerce szokásos készletállapotai: Raktáron, Előrendelhető (On backorder), Nincs készleten. Az állapot változhat kézzel (a termék szerkesztésekor) vagy automatikusan: ha a mennyiség nullára csökken, a WooCommerce Nincs készleten állapotra váltja, ha nulla fölé nő, visszaváltja Raktáron állapotra.

- Product stock status changed (any status): minden állapotváltozáskor lefut
- Product stock status changed to in stock
- Product stock status changed to on backorder
- Product stock status changed to out of stock

Ha csak egy adott állapot érdekel, a konkrét szabályt használd. Ha a boltban egyedi készletállapotok vannak (a `woocommerce_product_stock_status_options` szűrővel hozzáadva), mindegyikhez automatikusan saját triggerszabály jön létre.

## Műveletek és keresések

A tételes mezők a terméknél: Letöltések, Kategóriák, Képek, Attribútumok és Metaadatok. Ezekbe több értéket tételes formátumban kell küldeni, amire a **Line Itemizer** való.

### Create Product

Új terméket vagy termékváltozatot hoz létre.

**Változó termék létrehozása:** állítsd a **Type** mezőt `variable` (vagy előfizetésnél `variable-subscription`) értékre, és adj meg egy vagy több termékattribútumot, amelynél a **Variation** értéke `true`. Például egyedi Méret attribútummal:

- Type: `variable`
- Attributes → Name: `Size`
- Attributes → Variation: `true`
- Attributes → Options: `Small, Medium, Large`

Ha van globális (boltszintű) attribútumod, azt is használhatod az egyedi helyett: a névhez a globális attribútum slugját írd (például `pa_size`).

A **Create Product** művelet lefutása után az egyes változatokat újabb **Create Product** műveletekkel hozhatod létre.

**Változat létrehozása:** a szülő változó terméknek (vagy változó előfizetésnek) már léteznie kell. A **Create Product** lépésben a **Type** értéke `variation` (előfizetésnél `subscription_variation`), a **Parent Id** mezőbe pedig a szülő változó termék azonosítóját írd. Példa:

- Type: `variation`
- Parent Id: `123` (a szülő változó termék azonosítója)
- Attributes → Name: `Size`
- Attributes → Option: `Small`

Ez új változatot hoz létre Small méretű attribútummal.

### Update Product

Meglévő termék vagy termékváltozat szinte bármely adatát módosíthatja. Az ár és a készlet módosítására javasolt a külön **Update Product Price** és **Update Product Stock Quantity** művelet, mert ezek relatív módosítást is támogatnak. Mint minden frissítő műveletnél, a legfelső szintű azonosító kötelező, és ha a beágyazott azonosítót üresen hagyod, új bejegyzés jön létre.

> Attribútumok és képek: frissítéskor vagy az összes, vagy egyik sem adható meg. Ha van adat az **Attributes** vagy **Images** részben, az felülírja a meglévőt. Ha képet akarsz hozzáadni, meg kell adnod az összes meglévő képet és az újat is. Ha attribútumot akarsz eltávolítani, csak azokat add meg, amelyeket meg akarsz tartani.

Termékváltozat módosításához az **ID** mezőbe a változat azonosítóját írd.

### Update Product Price

Egy meglévő termék vagy változat normál (**Regular**) vagy akciós (**Sale**) árát módosítja. Azonosíthatod azonosító (ID) vagy cikkszám (SKU) alapján. Relatív módosítást is támogat: fix összeggel vagy százalékkal növelheted vagy csökkentheted az árat, és az akciós árat a normál árhoz képest is beállíthatod.

Elérhető módosítási típusok:

- Set Regular Price To
- Increase Regular Price By (fix összeg vagy százalék)
- Decrease Regular Price By (fix összeg vagy százalék)
- Set Sale Price To
- Increase Sale Price By (fix összeg vagy százalék)
- Decrease Sale Price By (fix összeg vagy százalék)
- Set Sale Price to Regular Price Decreased By (fix összeg vagy százalék)

A művelet a termékadatok egy részhalmazát adja vissza.

### Update Product Stock Quantity

Egy meglévő termék vagy változat készletmennyiségét módosítja, azonosító (ID) vagy cikkszám (SKU) alapján. Relatív módosítást is támogat.

- Set Stock Quantity To
- Increase Stock Quantity By
- Reduce Stock Quantity By

A művelet lefutásakor automatikusan Raktáron vagy Nincs készleten állapotra állítja a terméket az új mennyiség szerint. Ha a terméken engedélyezett az előrendelés, nulla vagy negatív mennyiségnél Előrendelhető állapot lesz. A művelet a termékadatok egy részhalmazát adja vissza. A műveletnek a terméken bekapcsolt készletkezelés kell.

### Find Product

Megkeresi a terméket vagy termékváltozatot, és ha nincs találat, opcionálisan létrehozhat egyet. Ajánlott keresési mezők:

- **SKU**: a megadott cikkszámra keres.
- **Product ID**: a megadott (numerikus) termék- vagy változatazonosítóra keres.
- **Search**: a terméknévben és a termékleírásban keres a megadott szövegre.

Alapértelmezetten az összes terméktípusban keres, a változatokat is beleértve. Ha csak a legfelső szintű termékeket akarod, a **Parent Id** keresési mezőt állítsd `0`-ra. Az első találatot adja vissza, a rendezést az **Order** és **Orderby** mezőkkel módosíthatod. A termékek rendelési tételekből való megkeresését lásd a [Műveletek és keresések](zapier-integracio-muveletek-es-keresesek/) fejezetben.

## Költséghely-adatok (COGS)

A WooCommerce 9.5 óta bevezetett „Eladott áruk költsége” (COGS) adatai szerepelnek a rendelés és a termék erőforrásokban: a rendelés triggerszabályaiban, a **Create Order** és **Update Order** műveletekben, valamint a termék triggerszabályaiban.
