# Felhasználók végpontjai

> A REST API v2 felhasználókezelő végpontjai: listázás, létrehozás, szerkesztés, törlés, CSV-import és az adminisztrátori jelszó frissítése.

Ezekkel a végpontokkal a vezérlőpultból kezelheted a gyermekwebhelyek felhasználóit. A pontos kérés- és válaszszerkezetet a Postman-gyűjtemény tartalmazza.

Az `{id_or_domain}` jelölés a webhely számazonosítóját vagy a domainjét fogadja el.

## Végpontok

| Metódus | Útvonal | Mire jó | Fő paraméterek |
|---|---|---|---|
| GET | `/users` | Felhasználók listázása a kiválasztott webhelyeken | `clients`, `groups`, `websites`, `search`, `roles` |
| POST | `/users/create` | Felhasználó(k) létrehozása a kiválasztott webhelyeken | `username`, `email`, opcionálisan `password`, `role`, `first_name`, `last_name`, `user_url`, `send_password`, valamint a webhelyszűrők |
| PUT, PATCH | `/users/{id_or_domain}/{user_id}/edit` | Felhasználó szerkesztése egy webhelyen | `id_or_domain`, `user_id`, a szerkeszthető profilmezők |
| DELETE | `/users/{id_or_domain}/{user_id}/delete` | Felhasználó törlése egy webhelyen | `id_or_domain`, `user_id` |
| PUT, PATCH | `/users/update-admin-password` | Az adminisztrátori jelszó frissítése a kiválasztott webhelyeken | `password`, valamint a `clients`, `groups`, `websites` szűrők |
| POST | `/users/import` | Felhasználók importálása CSV-fájlból | `csv_file` (többrészes feltöltés), opcionálisan `has_header` |

## CSV-import formátuma

A `/users/import` olyan CSV-fájlt vár, amelyben minden sor 10 oszlopot tartalmaz, ebben a sorrendben:

1. `username`: a felhasználónév
2. `email`: az e-mail-cím
3. `first_name`: a keresztnév
4. `last_name`: a vezetéknév
5. `user_url`: a weboldal címe
6. `password`: a jelszó
7. `send_password`: `true` vagy `false`, küldjön-e jelszót e-mailben
8. `role`: a szerepkör (`administrator`, `subscriber`, `editor`, `author`, `contributor`)
9. `select_sites`: a webhelyek címei, pontosvesszővel elválasztva
10. `select_groups`: a csoportok (címkék) nevei, pontosvesszővel elválasztva

Ha a `has_header` értéke `true` (ez az alapérték), az első sort a rendszer kihagyja.

## Példák

### Felhasználó létrehozása a kiválasztott webhelyeken

```bash
curl -X POST \
  -H "Authorization: Bearer API_KULCS" \
  -H "Content-Type: application/json" \
  -d '{
    "username":"szerkeszto01",
    "email":"szerkeszto@example.com",
    "role":"editor",
    "send_password":true,
    "websites":"12,19"
  }' \
  "https://a-te-vezerlopultod.hu/wp-json/mainwp/v2/users/create"
```

```json
{
  "success": 1,
  "message": "Users created successfully."
}
```

### Adminisztrátori jelszó frissítése a kiválasztott webhelyeken

```bash
curl -X PUT \
  -H "Authorization: Bearer API_KULCS" \
  -H "Content-Type: application/json" \
  -d '{
    "password":"Eros-Jelszo-Minta-2026",
    "groups":"eles"
  }' \
  "https://a-te-vezerlopultod.hu/wp-json/mainwp/v2/users/update-admin-password"
```

```json
{
  "success": 1,
  "message": "Administrator passwords updated successfully."
}
```

### Felhasználók importálása CSV-fájlból

```bash
curl -X POST \
  -H "Authorization: Bearer API_KULCS" \
  -F "csv_file=@felhasznalok.csv" \
  -F "has_header=true" \
  "https://a-te-vezerlopultod.hu/wp-json/mainwp/v2/users/import"
```

A válasz megadja az összes, a sikeres és a sikertelen sorok számát, a hibás sorokat pedig a sor számával és a hiba okával együtt:

```json
{
  "total": 15,
  "success_count": 14,
  "failed_count": 1,
  "failed_users": [
    {
      "line_number": 8,
      "error": "Invalid email format."
    }
  ]
}
```

A felhasználókezelés felületéről a [Felhasználók kezelése](https://hub.hellowp.io/hu/plugins/mainwp/felhasznalok-felhasznalok-kezelese/) és az [Adminisztrátori jelszavak](https://hub.hellowp.io/hu/plugins/mainwp/felhasznalok-adminjelszavak/) fejezetben olvashatsz.

## Kapcsolódó fejezetek

- [REST API áttekintés](https://hub.hellowp.io/hu/plugins/mainwp/rest-api-attekintes/)
- [Beállítások végpontjai](https://hub.hellowp.io/hu/plugins/mainwp/rest-api-beallitasok/)
- [Webhelyek végpontjai](https://hub.hellowp.io/hu/plugins/mainwp/rest-api-webhelyek/)
