REST API

← Powrót do dokumentacji

⚙️ 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 /courses
Publiczny — lista kursów z paginacją
GET /courses/{id}
Publiczny — szczegóły jednego kursu

Endpointy — Lekcje

GET /courses/{course_id}/lessons
Publiczny — 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 })
  }
);

← Powrót do dokumentacji

Przewijanie do góry