Rozszerzenie Spoti Rest API pozwala wysyłać zapytania do serwera o postęp uczestników w kursach oraz ich datę logowania.

Wszystkie endpointy są zabezpieczone do roli administratora, gdy wyślemy request z konta normalnego użytkownika otrzymamy odpowiedź:

{
  "no_permissions": true
}

Lista uczestników oraz ich ostatnia data logowania

GET /wp-json/ld/v1/users

Dodatkowe Parametry:

page=numer_strony – API Posiada paginację, domyślnie wyświetlane jest 100 użytkowników naraz.

order

  • ASC – Od najniższych do najwyższych wartości (domyślnie)
  • DSC – Od najwyższych do najniższych wartości

orderby

  • ID – Id użytkownika (domyślnie)
  • display_name – nazwa wyświetlana
  • name – nazwa użytkownika
  • email – adres e-mail użytkownika
  • registered – data rejestracji

Przykładowy request z parametrami:

GET /wp-json/ld/v1/users?page=1&order=ASC&orderby=display_name

Przykładowa odpowiedź:

{
  "users": [
    {
      "id": 23,
      "display_name": "test",
      "user_login": "ok@etechnologie.pl",
      "last_login": "30\/09\/2020"
    }
  ]
}

users – tablica z obiektami użytkowników

id (Int) – indywidualne id użytkownika

display_name (String) – nazwa wyświetlana

user_login (String) – login użytkownika

last_login (String) – data ostatniego zalogowania użytkownika


Postęp użytkowników w szkoleniach

GET /wp-json/ld/v1/user_profile/?user_id=ID_UZYTKOWNIKA

Przykładowa odpowiedź:

{
  "user_id": 23,
  "user_email": "user@email.com",
  "user_nicename": "user_login",
  "user_registered": "2020-09-30 09:47:35",
  "user_enrolled": [
    1039,
    1025,
    1022
  ],
  "last_login": "30\/09\/2020",
  "user_courses": [
    {
      "course_title": "Szkolenie czasowe",
      "id": 1039,
      "course_progress": [
        {
          "title": "1 Czas",
          "completed": true,
          "id": 1070
        },
        {
          "title": "2. zagadnienie czasowe",
          "completed": false,
          "id": 1040
        }
      ],
      "quizes": [
        {
          "id": 1052,
          "title": "Quiz",
          "quiz_attempts": 3,
          "quiz_time_spent": 10
        }
      ],
      "final_quiz": {
        "id": 1030,
        "title": "Quiz końcowy",
        "quiz_attempts": 5,
        "quiz_time_spent": 15
      },
      "course_status": "in-progress"
    },
}

user_id (Int) – ID użytkownika

user_email (String) – email użytkownika

user_registered (String) – data rejestracji użytkownika na platformie

user_enrolled – Tablica ID kursów, do których użytkownik jest zapisany

last_login (String) – data ostatniego zalogowania

user_courses – Tablica z obiektami kursów

  • course_title (String) – tytuł szkolenia
  • id (Int) – id szkolenia

course_progress – Tablica z obiektami zagadnień

  • title (String) – tytuł zagadnienia
  • completed (Boolean) – zaliczenie zagadnienia przez użytkownika
  • id (Int) – id zagadnienia

quizes – tablica z obiektami quizów

  • id (Int) – id quizu
  • title (String) – tytuł quizu
  • quiz_attempts (Int) – ilość prób podjętych przez uczestnika
  • quiz_time_spent (Int) – czas poświęcony przez użytkownika (w sekundach)

final-quiz – obiekt quizu końcowego

  • id (Int) – id quizu końcowego
  • title (String) – tytuł quizu końcowego
  • quiz_attempts (Int) – ilość prób podjętych przez uczestnika
  • quiz_time_spent (Int) – czas poświęcony przez użytkownika (w sekundach)

course-status (String) – Status kursu.

Możliwe parametry:

  • “not-started”
  • “in-progress”
  • “completed”

Pobierz plik programu Insomnia