# Végpontok kezelése

> Új végpont létrehozása, a beállítások jelentése, hozzáférés-korlátozás, naplózás és a mintakérés.

## A végpontok listája

A **JetFormBuilder → Végpontok** oldal a létrehozott végpontokat listázza: az URL-t, a hozzá tartozó űrlapot (**RELATED FORM**) és a létrehozás idejét (**CREATED AT**). Az **ACTIONS** oszlopban a ceruza szerkeszti, a kuka törli a végpontot; a jelölőnégyzettel több sort is kijelölhetsz.

Új végpontot az **Add new route** gombbal hozhatsz létre. Az űrlap külön lapon nyílik meg.

## Új végpont létrehozása

![Az új végpont üres űrlapja](./kepek/uj-vegpont-urlap.webp)

*Az új végpont üres űrlapja* (https://minta-bolt.hu/wp-admin/edit.php?post_type=jet-form-builder&page=action-endpoints&item_id=-1)

Az oldal bal oldalán a **Settings** panel, jobb oldalán a **Data Fields** panel áll.

1. Kattints a **JetFormBuilder → Végpontok** oldalon az **Add new route** gombra.
2. A **RELATED FORM** mezőben válaszd ki az űrlapot, amelynek utólagos műveleteit a végpont elindítja.
3. Válaszd ki az **ACTION TYPE** értékét (lásd lent).
4. Adj meg útvonalat a kiválasztott típus mezőiben.
5. Szükség esetén kapcsold be az **Is restricted** és a **Log Requests** kapcsolót.
6. Kattints a **Publish** gombra. Meglévő végpontnál a gomb felirata **Update**.

### A művelet típusa

| Érték | Hogyan indul a művelet |
|---|---|
| **WordPress AJAX** | Hagyományos WordPress AJAX-kéréssel. Az **AJAX ACTION SLUG** mezőbe a művelet nevét írd. |
| **REST API Endpoint** | REST API-kéréssel. A **ROUTE NAMESPACE** és a **ROUTE** mezőbe az URL két részét írd. |
| **URL Query String** | Olyan címre váltáskor, amelyben meghatározott paraméterek szerepelnek. |

Az alapérték a **WordPress AJAX**.

Ha **REST API Endpoint** típust választasz, a végpont címe `/wp-json/<névtér>/<útvonal>` alakú. Az alábbi képen a névtér `regisztracio`, az útvonal `jovahagy`, így a cím `/wp-json/regisztracio/jovahagy`.

![REST API végpont kitöltött beállításokkal](./kepek/vegpont-rest-kitoltve.webp)

*REST API végpont kitöltött beállításokkal* (https://minta-bolt.hu/wp-admin/edit.php?post_type=jet-form-builder&page=action-endpoints&item_id=-1)

A kép tetején sárga figyelmeztetés látszik: a végpontot alapból megvédi, hogy az űrlap nem fogad be külső oldalról érkező beküldést. Ha a végpontot másik weboldalról akarod használni, az űrlap beállításai között ezt a védelmet ki kell kapcsolnod. A felesleges beküldések ellen a végpont **Is restricted** beállítása véd.

### Hozzáférés korlátozása

| Beállítás | Mit csinál | Alapérték |
|---|---|---|
| **Is restricted** | Kikapcsolva a művelet bárkinek elérhető. Bekapcsolva csak a megadott feltételnek megfelelő felhasználók indíthatják. | Ki |
| **WHO CAN TRIGGER THIS ACTION** | Bekapcsolt korlátozásnál ez dönti el, ki indíthatja a műveletet: **Any registered user** (bármely bejelentkezett felhasználó), **User with given role…** (adott szerepkörű) vagy **User with given capability…** (adott jogosultságú). | **Any registered user** |

![A korlátozás és a naplózás bekapcsolva](./kepek/vegpont-korlatozas-naplo.webp)

*A korlátozás és a naplózás bekapcsolva* (https://minta-bolt.hu/wp-admin/edit.php?post_type=jet-form-builder&page=action-endpoints&item_id=1)

A kép a bekapcsolt **Is restricted** kapcsolót és a megjelenő **WHO CAN TRIGGER THIS ACTION** listát mutatja. Aki nem felel meg a feltételnek, annak a kérését a végpont elutasítja.

### Kérések naplózása

A **Log Requests** kapcsoló bekapcsolva eltárolja a végponton keresztül érkező minden beküldési kísérletet. A naplót a végpont szerkesztőoldalán látod, az űrlap alatt, így visszanézheted, ki és mikor indította a műveletet. Alapból ki van kapcsolva.

## Adatmezők és mintakérés

A **Data Fields** panel két fület tartalmaz.

- **Fields**: a kiválasztott űrlap mezői: **Field name** (mező neve), **Field type** (típusa), **Default value** (alapérték) és **Sample value** (mintaérték, ezt te adhatod meg).
- **Sample request**: kész kérés a végpont meghívásához, `curl` formában, a végpont címével és az űrlap mezőinek adataival.

![A Sample request fül a kérés kódjával és a másoló gombokkal](./kepek/vegpont-minta-keres.webp)

*A Sample request fül a kérés kódjával és a másoló gombokkal* (https://minta-bolt.hu/wp-admin/edit.php?post_type=jet-form-builder&page=action-endpoints&item_id=-1)

A mintakérés alatt két gomb van:

- **Copy request**: a teljes `curl` parancsot másolja.
- **Copy data for the request**: csak a kérés adatrészét másolja. Ezt kell bemásolnod az Elementor vagy Bricks gomb **Data for the request** mezőjébe.

A mintakérésben a `--user "USERNAME:APPLICATION_PASSWORD"` sor a WordPress alkalmazásjelszavas hitelesítésére utal: a korlátozott végpontot külső kódból így hívhatod meg.

## Gomb beállítása Elementorban és Bricksben

A bővítmény egy **Submit JetFormBuilder Form** szakaszt (Bricksben **Submit JetFormBuilder form**) ad a gombokhoz. Elementorban az Elementor saját **Button** vagy a JetElements **Button** widgetjén találod.

| Beállítás | Mit csinál |
|---|---|
| **Enable form submission** | Bekapcsolja az űrlapbeküldést a gombon. Alapból ki van kapcsolva. Bekapcsolás után jelennek meg a következő mezők. |
| **Choose route** | A legördülőből a végpontot választod ki, például `/wp-json/regisztracio/jovahagy`. |
| **Data for the request** | Ide illeszd be a **Copy data for the request** gombbal másolt adatot. |

A gombra kattintva a végpont lefuttatja az űrlap műveleteit, és a gomb mellett az űrlap sikerüzenete jelenik meg (alapból: „Form successfully submitted.”). Ez az üzenet az űrlap általános üzenetbeállításaiban módosítható.

## Hibaüzenetek

A végpont meghívásakor a következő hibaüzenetek jelenhetnek meg:

| Üzenet | Mit jelent |
|---|---|
| **Invalid route ID.** | A kérésben megadott végpontazonosító érvénytelen. |
| **Route not founded.** | Nincs ilyen végpont. |
| **Invalid endpoint.** | A végpont nem használható. |
| **You have not access to this endpoint** | A felhasználó nem felel meg az **Is restricted** feltételének. |
