# REST API: csoportok és mezők kezelése programból

> A termékek kiegészítő csoportjainak és mezőinek létrehozása, lekérdezése, módosítása és törlése a WooCommerce REST API-n keresztül.

A bővítmény REST-útvonalakat ad a WooCommerce REST API-hoz. Ezekkel egy termék kiegészítő csoportjait és mezőit külső rendszerből is kezelheted, például egy importáló szkriptből. Az útvonalak a `wc` névtér alatt, a `pewc` alapon érhetők el:

```text
/wp-json/wc/pewc/{termék-azonosító}/
```

Az útvonalak pontos tulajdonságait a webhelyed `/wp-json/` címén tudod megnézni. A hitelesítés a WooCommerce REST API szokásos módszerein megy.

A jelölések: `{product_id}` a termék azonosítója, `{group_id}` a csoporté, `{field_id}` a mezőé.

## Csoportok

| Módszer | Útvonal | Mit csinál | Bemenet | Válasz |
|---|---|---|---|---|
| GET | `/wc/pewc/{product_id}/` | Lekéri a termék csoportjainak sorrendjét | nincs | `product_id`, `group_order` |
| POST | `/wc/pewc/{product_id}/` | Új csoportot hoz létre | nem kötelező: `group_title`, `group_description`, `group_layout` | a frissített csoportsorrend és az új csoport adatai |
| GET | `/wc/pewc/{product_id}/{group_id}/` | Lekéri a csoport adatait | nincs | a csoport adatai és a `field_ids` (a mezők azonosítói) |
| PUT | `/wc/pewc/{product_id}/{group_id}/` | Módosítja a csoport adatait | a három csoportmező közül legalább egy | a frissített csoportadatok |
| DELETE | `/wc/pewc/{product_id}/{group_id}/` | Törli a csoportot | nincs | a frissített csoportsorrend, a törölt csoport azonosítója és a vele együtt törölt mezők azonosítói |

A `group_layout` értéke `ul`, `table`, `cols-2` vagy `cols-3` lehet. Ha nem adod meg, az alapérték `ul`.

## Mezők

| Módszer | Útvonal | Mit csinál | Bemenet | Válasz |
|---|---|---|---|---|
| POST | `/wc/pewc/{product_id}/{group_id}/` | Új mezőt hoz létre a csoportban | kötelező: `field_type`; mellé bármely mezőparaméter | `group_id`, `field_id` és az összes mezőparaméter |
| GET | `/wc/pewc/{product_id}/{group_id}/{field_id}/` | Lekéri a mező adatait | nincs | `group_id`, `field_id` és az összes mezőparaméter |
| PUT | `/wc/pewc/{product_id}/{group_id}/{field_id}/` | Módosítja a mezőt | legalább egy mezőparaméter (az `id` kivételével) | `group_id`, `field_id` és az összes mezőparaméter |
| DELETE | `/wc/pewc/{product_id}/{group_id}/{field_id}/` | Törli a mezőt | nincs | a termék és a csoport azonosítója, a törölt mező azonosítója és a megmaradt mezők azonosítói |

A `field_type` érvényes értékeit a bővítmény `pewc_field_types()` függvénye adja meg, például `calculation`, `checkbox`, `checkbox_group`.

A mezőparaméterek teljes listáját a `pewc_get_field_params()` függvény adja. Ide tartoznak a feliratok, az árazás, a választható elemek, a feltételek, az érvényesítés (legkisebb és legnagyobb érték, karakterszám, dátum), az elrendezés és megjelenés, a képletek és a fájlfeltöltés beállításai.

Egy jelölőnégyzet mező létrehozásához elég ennyi a kérés törzsében:

```json
{"field_type": "checkbox"}
```

## Hogyan kapcsolható ki vagy bővíthető

Ezek a szűrők a REST API viselkedését állítják:

| Szűrő | Mit állít |
|---|---|
| `pewc_rest_api_disable_routes` | Ha igazat ad vissza, a bővítmény útvonalai nem regisztrálódnak |
| `pewc_rest_api_add_product_extras` | Hozzáadja-e a kiegészítőket a termékek REST-válaszához |
| `pewc_rest_api_set_order_item` | Beállítsa-e a kiegészítőket a REST API-val létrehozott rendelési tételen |
| `pewc_rest_api_insert_shop_order_object` | Beillessze-e a kiegészítőket a REST API-val létrehozott rendelésobjektumba |

Az útvonalak csak akkor működnek, ha a termékek kiegészítői már az új tárolási módra váltottak. Más szűrők és műveletek listája: [Hookok és szűrők](https://hub.hellowp.io/hu/plugins/product-extras-for-woocommerce/fejlesztok-hookok/).
