# Konstans, szűrők, REST és abilities

> Az LW Pixel wp-config-konstansa, szűrői és akciói, a beállítások REST-végpontjai és az LW Site Manager melletti abilities.

## wp-config-konstans

| Konstans | Mit csinál |
|---|---|
| `LW_PIXEL_CHATGPT_API_KEY` | A ChatGPT Ads Conversions API kulcsa. Ha nem üres, elsőbbséget élvez a felületen mentett kulccsal szemben, és nem kerül az adatbázisba. A felületen ilyenkor nem módosítható. |

```php title="wp-config.php"
define( 'LW_PIXEL_CHATGPT_API_KEY', 'xxxx' );
```

Bedrockban a szokásos módon: a `.env`-be `LW_PIXEL_CHATGPT_API_KEY=xxxx`, a `config/application.php`-ba:

```php title="config/application.php"
Config::define( 'LW_PIXEL_CHATGPT_API_KEY', env( 'LW_PIXEL_CHATGPT_API_KEY' ) );
```

A Meta-tokennek és a GA4 MP API-titoknak nincs konstansa, ezek csak az adatbázisban tárolhatók. Ha a `WP_DEBUG` be van kapcsolva, a bővítmény naplózza a szerveroldali küldési hibákat.

## Szűrők

| Szűrő | Mire jó |
|---|---|
| `lw_pixel_pixel_enabled` | Pixel feltételes ki- vagy bekapcsolása (`bool $enabled, string $pixel_id`). |
| `lw_pixel_event_params` | Eseményparaméterek módosítása. |
| `lw_pixel_event_should_fire` | Egy esemény letiltása. |
| `lw_pixel_resolve_events` | Saját események hozzáadása. |
| `lw_pixel_is_category_allowed` | Más hozzájáruláskezelő bekötése, ha nincs LW Cookie. Alapból `true`: minden fut. |
| `lw_pixel_trust_proxy_headers` | `true` esetén a látogató IP-jét a `CF-Connecting-IP` / `X-Forwarded-For` fejlécből veszi. Csak megbízható proxy (pl. Cloudflare) mögött. |
| `lw_pixel_server_page_event` | Oldal-szintű esemény szerveroldali küldése gyorsítótárazható oldalon is. |
| `lw_pixel_capi_user_data`, `lw_pixel_capi_event_body` | A Meta Conversion API felhasználói adata és eseménytörzse. |
| `lw_pixel_capi_api_version` | A Meta Graph API verziója (alap: `v26.0`). |
| `lw_pixel_ga4_mp_event` | A GA4 Measurement Protocol eseménye. |
| `lw_pixel_chatgpt_capi_event`, `lw_pixel_chatgpt_browser_user` | A ChatGPT Ads szerveroldali eseménye és böngészős felhasználói adata. |
| `lw_pixel_capi_purchase_consent`, `lw_pixel_server_purchase_consent` | Szerveroldali vásárlás engedélyezése rendelésenként. |
| `lw_pixel_barion_email_hash` | A Barion e-mail-hash. |
| `lw_pixel_server_providers` | Saját szerveroldali szolgáltató. |
| `lw_pixel_migrators` | Saját importer regisztrálása. |

Lekérdezhető értékek: `apply_filters( 'lw_pixel_active_pixels', [] )` a beállított pixeleket, a `lw_pixel_consent_state` a kategóriánkénti hozzájárulást adja.

Akciók: `lw_pixel_register_pixels` (saját pixel), `lw_pixel_server_response` (`$provider, $ok, $status`: a szerveroldali küldés eredménye, pl. riasztáshoz).

PHP-ból egy beállítás: `\LightweightPlugins\Pixel\Options::get( 'fb_pixel_id' )`.

## REST-végpontok

A REST a beállítóképernyő belső API-ja, `lw-pixel/v1` névtérben. Minden útvonal adminisztrátori jogot (`manage_options`) kér.

| Metódus | Útvonal | Mit csinál |
|---|---|---|
| GET | `/wp-json/lw-pixel/v1/admin/settings` | Beállítások; titkok helyett csak az állapotuk. |
| POST | `/wp-json/lw-pixel/v1/admin/settings` | Részleges mentés, a felülettel azonos ellenőrzéssel. Hibás mezőnél semmi nem mentődik. |
| GET, POST | `/wp-json/lw-pixel/v1/admin/custom-events` | Egyéni események listája, új esemény. |
| GET, POST, DELETE | `/wp-json/lw-pixel/v1/admin/custom-events/{id}` | Egy esemény lekérése, módosítása, törlése. |
| GET | `/wp-json/lw-pixel/v1/admin/migrators` | Importerek és előnézet. |
| POST | `/wp-json/lw-pixel/v1/admin/migrators/pys/run` | PixelYourSite-import. |
| GET | `/wp-json/lw-pixel/v1/admin/system-report` | Rendszerjelentés. |
| POST | `/wp-json/lw-pixel/v1/admin/test/chatgpt` | ChatGPT Ads kapcsolatteszt (`{ ok, status, message }`). |

Titok-mezőknél POST-ban: `null` = marad, `""` = törlés, más szöveg = csere.

```bash title="Meta pixel bekapcsolása azonosítóval"
curl -u "admin:xxxx xxxx xxxx xxxx xxxx xxxx" -X POST \
  -H "Content-Type: application/json" \
  -d '{"fb_enabled":true,"fb_pixel_id":"1234567890"}' \
  https://pelda.hu/wp-json/lw-pixel/v1/admin/settings
```

## Abilities (az LW Site Manager mellett)

Ha az [LW Site Manager](https://hub.hellowp.io/hu/docs/lw-plugins/) is aktív, három képesség jelenik meg „Követőpixelek” kategóriában. Adminisztrátori jog kell.

| Ability | Mit csinál |
|---|---|
| `lw-pixel/get-options` | Pixelbeállítások lekérése; a titkok `********`-ként. |
| `lw-pixel/set-options` | Pixelbeállítások módosítása. Válasz: „… beállítás frissítve.” |
| `lw-pixel/list-pixels` | Pixelek listázása. |

A WordPress Abilities REST-felületén hívhatók: `/wp-json/wp-abilities/v1/abilities/<név>/run`, olvasáshoz GET, íráshoz POST `{"input": {...}}` törzzsel.

```bash title="GA4 bekapcsolása"
curl -u "admin:xxxx xxxx xxxx xxxx xxxx xxxx" -X POST \
  -H "Content-Type: application/json" \
  -d '{"input":{"options":{"ga4_enabled":true,"ga4_measurement_id":"G-ABC1234"}}}' \
  https://pelda.hu/wp-json/wp-abilities/v1/abilities/lw-pixel/set-options/run
```

> **A set-options nem ellenőriz**
>
> Az ismeretlen kulcsot csendben eldobja, a formátumot nem ellenőrzi. Utána nézd meg a beállítást a felületen.
