⚙️ REST API
Dokumentacja API dla deweloperów — integruj WPSell Learnly z zewnętrznymi aplikacjami.
Informacje ogólne
| Namespace | wpsell-learnly/v1 |
| Base URL | https://twoja-domena.pl/wp-json/wpsell-learnly/v1/ |
| Autentykacja | WordPress Application Passwords lub Cookie Auth |
| Format | JSON |
Endpointy — Kursy
GET /coursesPubliczny — lista kursów z paginacją
GET /courses/{id}Publiczny — szczegóły jednego kursu
Endpointy — Lekcje
GET /courses/{course_id}/lessonsPubliczny — lista lekcji w kursie
GET /lessons/{id}Publiczny — szczegóły lekcji
Endpointy — Zapisy
GET /enrollments🔒 Autentykacja — lista zapisów zalogowanego użytkownika
POST /enroll🔒 Autentykacja — zapisz użytkownika na kurs
Body:
{"course_id": 123}
Endpointy — Postępy
GET /progress/{course_id}🔒 Autentykacja — postęp użytkownika w kursie
POST /lessons/{id}/complete🔒 Autentykacja — oznacz lekcję jako ukończoną
Endpointy — Quizy
GET /quizzes/{id}🔒 Autentykacja — szczegóły quizu
POST /quizzes/{id}/submit🔒 Autentykacja — przeslij odpowiedzi quizu
Body:
{"answers": {"q1": "a", "q2": ["b","c"]}}
Endpointy — Drip Content
GET /lessons/{id}/drip-status🔒 Autentykacja — sprawdź dostępność lekcji (drip content)
Endpointy — Certyfikaty
GET /certificates🔒 Autentykacja — lista certyfikatów użytkownika
GET /certificates/{id}🔒 Autentykacja — szczegóły certyfikatu
Endpointy — Powiadomienia
GET /notifications🔒 Autentykacja — lista powiadomień (parametry:
unread, per_page)
PUT /notifications/{id}/read🔒 Autentykacja — oznacz powiadomienie jako przeczytane
PUT /notifications/read-all🔒 Autentykacja — oznacz wszystkie jako przeczytane
DELETE /notifications/{id}🔒 Autentykacja — usuń powiadomienie
Przykład użycia (JavaScript)
// Pobierz listę kursów
const response = await fetch(
'https://demo.learnly.pl/wp-json/wpsell-learnly/v1/courses'
);
const courses = await response.json();
console.log(courses);
// Zapisz się na kurs (wymaga autentykacji)
const enroll = await fetch(
'https://demo.learnly.pl/wp-json/wpsell-learnly/v1/enroll',
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic ' + btoa('user:app_password')
},
body: JSON.stringify({ course_id: 6 })
}
);