Tovább a tartalomhoz

REST API: Pro végpontok

A Tutor LMS Pro REST API-ja: kurzusok, témák, leckék, feladatok, kvízek, beiratkozások, kívánságlista, értékelések, profil és kérdések-válaszok.

A Tutor LMS Pro REST API-jával az adatokat létrehozhatod, olvashatod, módosíthatod és törölheted JSON-kérésekkel. A hitelesítés menetét lásd a REST API: áttekintés és hitelesítés fejezetben. Az alábbi címekben az oldalad-cime.hu helyére a saját weboldalad címe kerüljön, mindegyik a /wp-json/tutor/v1/ előtaggal kezdődik.

Kurzust létrehozhatsz, megtekinthetsz, módosíthatsz és törölhetsz, rendezheted ár szerint, lekérheted az értékeléseit és a részleteit.

Tulajdonság Típus Kötelező Leírás
post_author szám igen A szerző (adminisztrátor) azonosítója.
post_date dátum-idő nem A kurzus létrehozásának ideje az oldal időzónájában, ÉÉÉÉ-HH-NN ÓÓ:PP:MP formában.
post_date_gmt dátum-idő nem A létrehozás ideje GMT-ben.
post_content szöveg igen A kurzus tartalma.
post_title szöveg igen A kurzus címe.
post_excerpt szöveg nem A kurzus rövid leírása.
post_status szöveg igen A kurzus állapota.
post_password szöveg nem A kurzust védő jelszó.
comment_status szöveg nem Nyitva vannak-e a hozzászólások.
post_modified, post_modified_gmt dátum-idő nem A módosítás ideje az oldal időzónájában, illetve GMT-ben.
post_content_filtered szöveg nem Szűrt kurzustartalom.
additional_content objektum nem További kurzusadatok: course_benefits (mit tanulnak a hallgatók), course_target_audience (célközönség), course_duration (hours és minutes), course_material_includes (mellékelt anyagok), course_requirements (követelmények).
video objektum nem A videó: source_type (external_url, shortcode, youtube, vimeo vagy beágyazott) és source (a hivatkozás).
course_level szöveg nem A kurzus szintje: beginner, intermediate vagy expert.
course_categories szám tömb nem A kategóriák azonosítói.
course_tags szám tömb nem A címkék azonosítói.
thumbnail_id szám nem A kiemelt kép azonosítója.

Minta kérés törzs:

{
"post_author": 1,
"post_title": "Bevezetés a matematikába",
"post_content": "A kurzus az alapműveletekkel, az algebrával és a geometriával foglalkozik.",
"post_excerpt": "Alapozó matematika kurzus.",
"post_status": "publish",
"comment_status": "open",
"additional_content": {
"course_benefits": "A kurzus előnyei",
"course_target_audience": "Kezdők",
"course_duration": { "hours": "1", "minutes": "10" },
"course_material_includes": "Mellékelt anyagok",
"course_requirements": "Követelmények"
},
"video": { "source_type": "youtube", "source": "https://www.youtube.com/watch?v=PELDA" },
"course_level": "beginner",
"course_categories": [161, 163],
"course_tags": [18, 19],
"thumbnail_id": 0
}
Művelet Cím Módszer
Kurzus létrehozása /courses POST
Kurzusok listája /courses?order=desc&orderby=ID&paged=1 GET
Kurzus módosítása /courses/{course_id} POST, PUT, PATCH
Kurzus törlése /courses/{course_id} DELETE
Kurzus részletei /courses/{course_id} GET
Kurzus témái /course-topic/{course_id} GET
Kurzus befejezettnek jelölése /course-mark-complete POST
Rendezés ár szerint /course-sorting-by-price?order=asc&page=1 GET
Kurzus értékelései /course-rating/{course_id} GET
Tulajdonság Típus Kötelező Leírás
topic_course_id szám igen A kurzus azonosítója, amelyhez a téma tartozik.
topic_title szöveg igen A téma címe.
topic_summary szöveg nem A téma összefoglalója.
topic_author szám igen A szerző (adminisztrátor) azonosítója.
{
"topic_course_id": 5607,
"topic_title": "Bevezetés a matematikába",
"topic_summary": "Az alapműveletek áttekintése.",
"topic_author": 1
}
Művelet Cím Módszer
Téma létrehozása /topics POST
Témák listája /topics?course_id={course_id} GET
Téma módosítása /topics/{topic_id} POST, PUT, PATCH
Téma törlése /topics/{topic_id} DELETE

Leckét létrehozhatsz, módosíthatsz és törölhetsz, és befejezettnek jelölheted.

Tulajdonság Típus Kötelező Leírás
topic_id szám igen A téma azonosítója.
course_id szám igen A kurzus azonosítója.
lesson_title szöveg igen A lecke címe.
lesson_content szöveg nem A lecke tartalma.
thumbnail_id szám nem A kiemelt kép azonosítója.
lesson_author szám igen A szerző azonosítója.
video objektum nem source_type, source és runtime (hours, minutes, seconds: a videó hossza).
attachments szám tömb nem A médiatár elemeinek azonosítói.
preview logikai nem Engedélyezett-e az előnézet.
{
"topic_id": 5608,
"lesson_title": "Bevezetés a matematikába",
"lesson_content": "Az alapműveletek áttekintése.",
"thumbnail_id": 1,
"lesson_author": 1,
"video": {
"source_type": "youtube",
"source": "https://www.youtube.com/watch?v=PELDA",
"runtime": { "hours": "00", "minutes": "10", "seconds": "36" }
},
"attachments": [110],
"preview": true
}
Művelet Cím Módszer
Lecke létrehozása /lessons/ POST
Lecke lekérése /lesson/{lesson_id} GET
Lecke módosítása /lessons/{lesson_id} POST, PUT, PATCH
Lecke törlése /lessons/{lesson_id} DELETE
Lecke befejezettnek jelölése /lesson-mark-complete POST
Tulajdonság Típus Kötelező Leírás
topic_id szám igen A téma azonosítója.
assignment_title szöveg igen A feladat címe.
assignment_author szám igen A feladat szerzőjének azonosítója.
assignment_content szöveg nem A feladat tartalma.
attachments tömb nem A médiatár elemeinek azonosítói.
assignment_options objektum igen A feladat beállításai (lent).

Az assignment_options mezői: time_duration (a beadási határidő: value az érték, unit az egység: nap, hét, hónap vagy év), total_mark (a feladat összpontszáma), pass_mark (a sikeres teljesítéshez szükséges legkisebb pontszám), upload_files_limit (a feltölthető fájlok száma) és upload_file_size_limit (a feltölthető fájl legnagyobb mérete).

{
"topic_id": 5587,
"assignment_title": "1. matematika feladat",
"assignment_author": 1,
"assignment_content": "<p>A feladat szövege</p>",
"attachments": [2278],
"assignment_options": {
"time_duration": { "value": 1, "unit": "weeks" },
"total_mark": 10,
"pass_mark": 2,
"upload_files_limit": 1,
"upload_file_size_limit": 2
}
}
Művelet Cím Módszer
Feladat lekérése /course-assignment/{assignment_id} GET
Feladat létrehozása /assignments/ POST
Feladat módosítása /assignments/{assignment_id} POST, PUT, PATCH
Feladat törlése /assignments/{assignment_id} DELETE

A hallgatók ezzel adhatják be a feladatukat, és kérhetik le a feladat adatait és a csatolt fájlokat.

Tulajdonság Típus Kötelező Leírás
assignment_id szám igen A feladat azonosítója.
assignment_answer szöveg igen A hallgató válasza.
student_id szám igen A hallgató azonosítója.
attached_assignment_files[] tömb igen A csatolt fájlok.
Művelet Cím Módszer
A hallgató beadásának lekérése /assignments?student_id={student_id}&assignment_id={assignment_id} GET
Feladat beadása /assignment-submit POST
Beadott feladat módosítása /assignment-submit/{assignment_id} POST
Feladatcsatolmány /assignment-attachment/{assignment_id}?file_name={file_name} POST

Kvízt és kérdéseket hozhatsz létre, módosíthatsz és törölhetsz, a kvízeket, a kérdéseket és a próbálkozások részleteit azonosító alapján kérheted le.

Tulajdonság Típus Kötelező Leírás
topic_id szám igen A téma azonosítója.
quiz_title szöveg igen A kvíz címe.
quiz_author szám igen A kvíz szerzőjének azonosítója.
quiz_description szöveg nem A kvíz leírása.
quiz_options objektum igen A kvíz beállításai (lent).

A quiz_options mezői:

Mező Leírás
time_limit Időkorlát: time_value (az érték) és time_type (az egység: seconds, minutes, hours, days vagy weeks).
feedback_mode A visszajelzés módja: default, reveal vagy retry.
question_layout_view A kérdések megjelenése.
attempts_allowed Hány próbálkozás engedélyezett.
passing_grade A sikeres teljesítéshez szükséges eredmény.
max_questions_for_answer A megválaszolható kérdések legnagyobb száma.
questions_order A kérdések sorrendje.
short_answer_characters_limit A rövid válaszos kérdések karakterkorlátja.
open_ended_answer_characters_limit A nyílt végű kérdések karakterkorlátja.
{
"topic_id": 5587,
"quiz_title": "Matematika kvíz",
"quiz_author": 1,
"quiz_description": "Bevezetés a matematikába kvíz.",
"quiz_options": {
"time_limit": { "time_value": 1, "time_type": "minutes" },
"feedback_mode": "default",
"question_layout_view": "question_below_each_other",
"attempts_allowed": 10,
"passing_grade": 80,
"max_questions_for_answer": 10,
"questions_order": "rand",
"short_answer_characters_limit": 200,
"open_ended_answer_characters_limit": 500
}
}

Egy kérdés közös mezői: quiz_id, question_title, question_type, answer_required, randomize_question, question_mark, show_question_mark, answer_explanation és question_description. A kérdéstípusonként eltérő mezők:

Kérdéstípus (question_type) További mezők
true_false (igaz/hamis) correct_answer: true vagy false.
single_choice (egy helyes válasz) options: a lehetőségek tömbje, correct_answer: a helyes lehetőség.
multiple_choice (több helyes válasz) options és correct_answer: a helyes lehetőségek tömbje.
fill_in_the_blank (hiányzó szavak) question: a szöveg {dash} helyőrzőkkel a hézagok helyén, correct_answer: a helyes szavak a hézagok sorrendjében, függőleges vonal jellel elválasztva.
short_answer (rövid válasz) Nincs további kötelező mező.
open_ended (nyílt végű) Nincs további kötelező mező.
matching (párosítás) matching_options: a left és right oszlop elemei, correct_answer: a bal oldali elemekhez tartozó jobb oldali elemek.

Példa egy egy helyes válaszos kérdésre:

{
"quiz_id": 5592,
"question_title": "Melyik NoSQL adatbázis az alábbiak közül?",
"question_type": "single_choice",
"options": ["MySQL", "MongoDB", "PostgreSQL"],
"correct_answer": "MongoDB",
"answer_required": 1,
"randomize_question": 1,
"question_mark": 1.00,
"show_question_mark": 1,
"answer_explanation": "A magyarázat szövege",
"question_description": "A kérdés leírása"
}
Művelet Cím Módszer
Kvíz lekérése /quiz/{quiz_id} GET
Kvíz kérdései és válaszai /quiz-question-answer/{quiz_id} GET
Kvíz létrehozása /quizzes POST
Kvíz módosítása /quizzes/{quiz_id} POST, PUT, PATCH
Kvíz törlése /quizzes/{quiz_id} DELETE
Kérdés létrehozása /quiz-questions POST
Kérdés módosítása /quiz-questions/{question_id} POST, PUT, PATCH
Kérdés törlése /quiz-questions/{question_id} DELETE
Kvíz részletei /quizzes/{quiz_id} PUT

A hallgatók kvízpróbálkozásainak adatait gyűjtheted vele.

Tulajdonság Típus Kötelező Leírás
course_id szám igen A kurzus azonosítója.
student_id szám igen A hallgató azonosítója.
quiz_id szám igen A kvíz azonosítója.
quiz_question_answers tömb igen Az egyes kérdésekre adott válaszok: question_id, question_type és answer (szöveg, tömb vagy szám).
{
"course_id": 5708,
"student_id": 2,
"quiz_id": 5766,
"quiz_question_answers": [
{ "question_id": 204, "question_type": "true_false", "answer": 461 },
{ "question_id": 205, "question_type": "fill_in_the_blanks", "answer": ["nagy", "por", "forgalom"] },
{ "question_id": 206, "question_type": "multiple_choice", "answer": [460, 465] }
]
}
Művelet Cím Módszer
Próbálkozás létrehozása /quiz-attempts POST
Egy próbálkozás lekérése /quiz-attempts/{attempt_id} GET
Egy kvíz próbálkozásai /quiz-attempts?quiz_id={quiz_id}&student_id={student_id} GET
Tulajdonság Típus Kötelező Leírás
user_id szám igen A beiratkozó felhasználó azonosítója.
course_id szám igen A kurzus azonosítója.
enrollment_id szám csak az állapot módosításához A beiratkozás azonosítója.
{
"user_id": 2,
"course_id": 5607
}
Művelet Cím Módszer
Beiratkozás /enrollments POST
Beiratkozás állapotának módosítása /enrollments/completed PUT
A kurzus beiratkozott felhasználói /enrollments?course_id={course_id} GET

A beiratkozás lehetséges állapotai: cancel, completed, expired, failed, on-hold, pending, processing és refunded.

A felhasználó azonosítóját és a kurzus azonosítóját kéri (user_id, course_id, mindkettő kötelező szám).

Művelet Cím Módszer
A hallgató kívánságlistája /wishlists?user_id={user_id} GET
Kurzus felvétele a listára /wishlists POST
Kurzus törlése a listáról /wishlists?user_id={user_id}&course_id={course_id} DELETE

Egy kurzus értékeléseit listázhatod, vagy a hallgató értékelését felveheted, módosíthatod és törölheted. A mezők: user_id, course_id, rating (az értékelés pontszáma) és review (az értékelés szövege), mind kötelező.

{
"user_id": 3,
"course_id": 7461,
"rating": 5,
"review": "Nagyszerű leckék"
}
Művelet Cím Módszer
A felhasználó értékelései /reviews?user_id={user_id} GET
Értékelés felvétele /reviews POST
Értékelés módosítása /reviews/{course_id} POST
Értékelés törlése /reviews/{course_id}?user_id={user_id} POST

Hallgatói vezérlőpult, naptár, kurzusok és rendelések

Szekció neve “Hallgatói vezérlőpult, naptár, kurzusok és rendelések”
Művelet Cím Módszer
Hallgatói vezérlőpult /students/{student_id}/dashboard GET
Naptár /students/{student_id}/calendar GET
A hallgató kurzusai /students/{student_id}/courses GET
Rendelési előzmények /students/{student_id}/order-histories GET
Oktatóvá válás /become-instructor/{user_id} PUT
Művelet Cím Módszer
Profil lekérése /profile/{user_id} GET
Profil módosítása /update-profile PUT
Profilkép feltöltése /upload-photo/profile-photo POST
Profilkép törlése /delete-photo/profile-photo/{user_id} DELETE
Jelszó módosítása /update-password PUT

A hallgató kérdéseit és válaszait listázhatod, vehetsz fel, módosíthatsz és törölhetsz.

Tulajdonság Típus Kötelező Leírás
user_id szám igen A felhasználó azonosítója.
course_id szám igen A kurzus azonosítója.
question_id szám igen A kérdés azonosítója (0 új kérdésnél).
qna_text szöveg igen A kérdés vagy a válasz szövege.
{
"user_id": 3,
"course_id": 7378,
"question_id": 0,
"qna_text": "Írd ide a választ."
}
Művelet Cím Módszer
Kérdések listája /qna?user_id={user_id}&offset={offset}&limit={limit} GET
Kérdés felvétele vagy módosítása /qna POST
Olvasottnak vagy olvasatlannak jelölés /qna-mark-read-unread/{comment_id} POST, PUT, PATCH
Kérdés törlése /qna/{comment_id}?user_id={user_id} DELETE

Készült:

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