# Címkék képességei

> A mainwp-tags kategória 7 képessége: címkék listázása, létrehozása, módosítása, törlése, a címkéhez tartozó webhelyek és ügyfelek lekérdezése.

A `mainwp-tags` kategória 7 képessége a címkéket (más néven csoportokat) kezeli, amelyekkel a gyermekwebhelyeket szűrés és kötegelt műveletek céljából rendszerezheted. A hívások általános szabályait az Abilities API áttekintése írja le.

## Áttekintés

| Képesség | Metódus | Mire jó |
|---|---|---|
| `mainwp/list-tags-v1` | GET | Címkék listája lapozással és szűréssel |
| `mainwp/get-tag-v1` | GET | Egy címke részletes adatai |
| `mainwp/add-tag-v1` | POST | Új címke létrehozása |
| `mainwp/update-tag-v1` | POST | Meglévő címke módosítása |
| `mainwp/delete-tag-v1` | DELETE | Címke törlése (megerősítéssel) |
| `mainwp/get-tag-sites-v1` | GET | A címkéhez tartozó webhelyek |
| `mainwp/get-tag-clients-v1` | GET | Azok az ügyfelek, akiknek webhelyén rajta van a címke |

## Címkék listázása és lekérdezése

### mainwp/list-tags-v1

```bash
curl -u 'admin:xxxx' \
  'https://a-te-vezerlopultod.hu/wp-json/wp-abilities/v1/abilities/mainwp/list-tags-v1/run'
```

| Név | Típus | Kötelező | Alapérték | Leírás |
|---|---|---|---|---|
| `page` | egész | nem | 1 | Oldalszám |
| `per_page` | egész | nem | 20 | Elemek oldalanként (legfeljebb 100) |
| `search` | szöveg | nem | üres | Keresési kifejezés |
| `include` | tömb | nem | `[]` | A belevett címkeazonosítók |
| `exclude` | tömb | nem | `[]` | A kizárt címkeazonosítók |

A válasz az `items` tömb (`id`, `name`, `color`, `sites_count`) és a lapozási adatok.

### mainwp/get-tag-v1

Egy címke részletes adatai. GET, bemenete a `tag_id` (egész, kötelező).

```bash
curl -G -u 'admin:xxxx' \
  --data-urlencode 'input_json={"tag_id":1}' \
  'https://a-te-vezerlopultod.hu/wp-json/wp-abilities/v1/abilities/mainwp/get-tag-v1/run'
```

A válasz mezői: `id`, `name`, `color`, `sites_count`, `created_at`, `updated_at`.

## Címke létrehozása, módosítása, törlése

### mainwp/add-tag-v1

Új címkét hoz létre. POST.

```bash
curl -X POST -u 'admin:xxxx' \
  -H 'Content-Type: application/json' \
  -d '{"input":{"name":"Tesztkörnyezet","color":"#e74c3c"}}' \
  'https://a-te-vezerlopultod.hu/wp-json/wp-abilities/v1/abilities/mainwp/add-tag-v1/run'
```

| Név | Típus | Kötelező | Leírás |
|---|---|---|---|
| `name` | szöveg | igen | A címke neve |
| `color` | szöveg | nem | Hexadecimális színkód (például `#3498db`) |

A válasz a létrehozott címke: `id`, `name`, `color`, `sites_count` (kezdetben 0), `created_at`.

### mainwp/update-tag-v1

Meglévő címkét módosít. POST. A `tag_id` kötelező, a `name` és a `color` elhagyható. A válasz a módosított címke objektuma.

```bash
curl -X POST -u 'admin:xxxx' \
  -H 'Content-Type: application/json' \
  -d '{"input":{"tag_id":1,"name":"Éles webhelyek","color":"#27ae60"}}' \
  'https://a-te-vezerlopultod.hu/wp-json/wp-abilities/v1/abilities/mainwp/update-tag-v1/run'
```

### mainwp/delete-tag-v1

Törli a címkét. Romboló művelet, megerősítést kér, és **DELETE** metódust használ, a bemenet pedig a JSON-törzsben megy.

```bash
# Előnézet
curl -X DELETE -u 'admin:xxxx' \
  -H 'Content-Type: application/json' \
  -d '{"input":{"tag_id":1,"dry_run":true}}' \
  'https://a-te-vezerlopultod.hu/wp-json/wp-abilities/v1/abilities/mainwp/delete-tag-v1/run'

# Tényleges törlés
curl -X DELETE -u 'admin:xxxx' \
  -H 'Content-Type: application/json' \
  -d '{"input":{"tag_id":1,"confirm":true}}' \
  'https://a-te-vezerlopultod.hu/wp-json/wp-abilities/v1/abilities/mainwp/delete-tag-v1/run'
```

| Név | Típus | Kötelező | Alapérték | Leírás |
|---|---|---|---|---|
| `tag_id` | egész | igen | | A címke azonosítója |
| `confirm` | logikai | feltételesen | | Kötelező, és `true` kell legyen, kivéve ha a `dry_run` értéke `true` |
| `dry_run` | logikai | nem | `false` | Előnézet törlés nélkül |

A törlés válasza: `{"deleted": true, "tag_id": 1, "tag_name": "…"}`. Az előnézet válasza megmutatja, hány webhelyet érint a törlés:

```json
{
  "dry_run": true,
  "tag_id": 1,
  "tag_name": "Éles webhelyek",
  "sites_affected": 25
}
```

## A címkéhez tartozó webhelyek és ügyfelek

### mainwp/get-tag-sites-v1

A címkéhez rendelt webhelyek. GET. Bemenet: `tag_id` (kötelező), `page` (alapérték 1), `per_page` (alapérték 20). A válasz a `tag_id`, a `tag_name`, a `sites` tömb (`id`, `url`, `name`, `status`) és a lapozási adatok.

### mainwp/get-tag-clients-v1

Azok az ügyfelek, akiknek webhelyén szerepel a címke. GET. Bemenete ugyanaz, mint az előzőé. A válasz a `clients` tömb (`id`, `name`, `email`, `sites_with_tag`, vagyis hány címkézett webhelye van az ügyfélnek) és a lapozási adatok.
