Tovább a tartalomhoz

Admin API

Az LW LMS admin REST API-ja: beállítások, áttekintés, feliratkozások és kvízkitöltések kezelése, valódi válaszokkal.

Az admin felület ezt az API-t használja, de külső eszközből is hívható. Útvonal: /wp-json/lw-lms/v1/admin/…. A beállítás-végpont manage_options, a többi manage_lms jogosultságot kér.

Végpont Metódus Mire
/admin/settings GET, POST Beállítások olvasása és részleges mentése. A GET a nyilvános végpontok listáját is adja.
/admin/overview GET Az Áttekintés számai
/admin/enrollments GET Feliratkozások; szűrők: course, user, search, status (active, expired, revoked), source (manual, woocommerce, free), page, per_page (alap 20)
/admin/enrollments POST Kézi feliratkoztatás: { "user_id", "course_id", "expires" }
/admin/enrollments/{user}/{course} DELETE Visszavonás
/admin/quiz-attempts GET Kvízkitöltések; szűrők: course, lesson, user, search, passed, from, to
/admin/quiz-attempts/export GET CSV: { "filename": "quiz-attempts-ÉÉÉÉ-HH-NN.csv", "csv": "…" }
/admin/quiz-attempts/delete POST Tömeges törlés: { "ids": [ … ] }
/admin/quiz-attempts/{id} GET, DELETE Egy kitöltés, vagy törlése
/admin/lessons/{id}/quiz-attempts DELETE Egy lecke összes kitöltése
/admin/lessons/{id}/quiz-error GET A Kvíz doboz utolsó elutasított mentésének hibája
/admin/lookups/courses, /lessons, /users GET Választólisták az űrlapokhoz

Hibák: 400 lw_lms_invalid („Néhány mező érvénytelen. Semmi sem mentődött.”, a hibás mezők a data.fields-ben), 404 lw_lms_not_found („Ez az elem már nem létezik.”), 413 lw_lms_too_large („A kérés túl nagy.”).

Terminál
curl -u "admin:xxxx xxxx xxxx xxxx xxxx xxxx" "https://pelda.hu/wp-json/lw-lms/v1/admin/overview"
Válasz
{ "courses": { "published": 2, "drafts": 0 }, "lessons": { "published": 3, "drafts": 0 },
"enrollments": 3, "quizAttempts": 0, "quizAttemptDays": 30,
"woocommerce": { "enabled": true, "subscriptions": false, "memberships": false, "paidCourses": 1, "orderAccess": 0 } }
Terminál
curl -u "admin:xxxx xxxx xxxx xxxx xxxx xxxx" "https://pelda.hu/wp-json/lw-lms/v1/admin/enrollments?per_page=5"
Válasz (az első elem)
{
"items": [
{ "id": 3, "userId": 4, "courseId": 36,
"user": { "id": 4, "name": "Kovács Lili", "login": "kovacs.lili", "email": "[email protected]" },
"course": { "id": 36, "title": "Haladó mázazás", "editUrl": "https://pelda.hu/wp-admin/post.php?post=36&action=edit" },
"source": "manual", "sourceId": null,
"grantedAt": "2026-10-28 18:19:15", "granted": "október 28, 2026 6:19 du.",
"expiresAt": null, "expires": null, "status": "active",
"progress": { "completed": 0, "total": 0, "percentage": 0 } }
],
"total": 3, "page": 1, "perPage": 5, "pages": 1
}

A kvízkitöltések üres listája: { "items": [], "total": 0, "page": 1, "perPage": 20, "pages": 0, "summary": null }.

Kézi feliratkoztatás és visszavonás:

Terminál
# Feliratkoztatás 2026 végéig (üres "expires" = élethosszig; múltbeli dátum hiba)
curl -u "admin:xxxx xxxx xxxx xxxx xxxx xxxx" -X POST -H "Content-Type: application/json" \
-d '{"user_id":2,"course_id":36,"expires":"2026-12-31"}' \
"https://pelda.hu/wp-json/lw-lms/v1/admin/enrollments"
# Visszavonás
curl -u "admin:xxxx xxxx xxxx xxxx xxxx xxxx" -X DELETE \
"https://pelda.hu/wp-json/lw-lms/v1/admin/enrollments/2/36"
Terminál
curl -u "admin:xxxx xxxx xxxx xxxx xxxx xxxx" "https://pelda.hu/wp-json/lw-lms/v1/admin/settings"
Válasz (rövidítve)
{ "options": { "courses_per_page": 10, "enable_preview_lessons": true, "default_access_type": "free",
"auto_enroll_admins": false, "quiz_pass_percentage": 80, "require_quiz_pass": false,
"woo_enabled": true, "delete_data_on_uninstall": false },
"meta": { "ranges": { "courses_per_page": { "min": 1, "max": 100 }, "quiz_pass_percentage": { "min": 0, "max": 100 } },
"enums": { "default_access_type": [ "open", "free", "paid" ] },
"woocommerce": true, "restBase": "https://pelda.hu/wp-json/lms/v1/", "namespace": "lms/v1",
"endpoints": [ { "method": "GET", "path": "/courses", "description": "Kurzusok listázása",
"access": "Bárki (a hozzáférést kurzusonként és leckénként ellenőrzi)" } ] } }

A POST csak a beküldött kulcsokat írja. Ha egy érték hibás, semmi nem mentődik.

Kulcs Beállítás
default_access_type Alapértelmezett hozzáférés
enable_preview_lessons Előnézeti leckék
auto_enroll_admins Az LMS kezelők minden kurzushoz hozzáférnek
quiz_pass_percentage Alapértelmezett sikerességi százalék
require_quiz_pass A lecke elvégzéséhez sikeres kvíz kell
woo_enabled WooCommerce integráció engedélyezése fizetős kurzusokhoz
courses_per_page Kurzusok oldalanként
delete_data_on_uninstall Minden adat törlése a bővítmény törlésekor

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások