Informacje ogólne

Specyfikacja API REST  przedstawiona w trakcie konsultacji technicznych: POL-on – Specyfikacja API REST w systemie POL-on – wersja 1.0

Część specyfikacji znajduje się na stronach poprzedniej pomocy systemowej i będzie systematycznie przenoszona na nowy adres.

Uwaga: dotychczasowe API systemu POL-on będzie systematycznie wygaszane wraz migracją poszczególnych usług do nowego systemu POL-on 2.0

Wraz z interfejsami nowego systemu POL-on rozwijany jest również katalog usług RAD-on zawierający dostęp do danych (bez zapisu) ogólnodostępnych: https://radon.nauka.gov.pl/api/katalog-udostepniania-danych

W zakresie produkcyjnym POL-on 2 (https://radon.nauka.gov.pl/api/katalog-edycji-danych/polon-v2) dostępne są już następujące dziedziny:

  • Usługa Role i Uprawnienia (Users)
  • Pracownicy (Employees)
  • Słowniki dla usługi Pracownicy
  • Kierunki studiów (Fields of study)
  • Instytucje (Institutions)
  • Osoby ubiegające się o stopień doktora (PHD Students)
  • Szkoły doktorskie (Doctoral Schools)
  • Postępowania awansowe (Promotions i Promotion)
  • Patenty i prawa ochronne (Patents)
  • Projekty naukowe (Projects)
  • Dane finansowe jednostki (Financial data)
  • Osiągnięcia artystyczne (Artistic Achievement)

Środowisko DEMO

Środowisko demo to dedykowane jest do celów testowych użytkownikom systemu POL-on oraz POL-on 2.

Środowiska DEMO oraz PROD wykorzystują do autoryzacji ten sam produkcyjny system MCL. Uprawnienia i ustawienia kont z produkcji systemu POL-on / POL-on 2 obowiązują także w kontekście środowisko DEMO. Dane są synchronizowane z danymi produkcyjnymi raz w tygodniu (Wtorek), oznacza to więc że dane na środowisku DEMO są nadpisywane w czasie synchronizacji danymi produkcyjnymi.

Na  środowisku DEMO POL-on 2.0 publikujemy specyfikację usług API REST do przetestowania na tym środowisku

  1. Usługa Role i Uprawnienia (Users) : https://polon2-demo.opi.org.pl/users-api/swagger-ui.html
  2. Pracownicy (Employees): https://polon2-demo.opi.org.pl/employees-api/swagger-ui.html
  3. Słowniki dla usługi Pracownicy: https://polon2-demo.opi.org.pl/employees-api/swagger-ui.html
  4. Kierunki studiów (Fields of study): https://polon2-demo.opi.org.pl//fields-of-study-api/swagger-ui.html
  5. Instytucje (Institutions): https://polon2-demo.opi.org.pl/institutions-api/swagger-ui.html
  6. Osoby ubiegające się o stopień doktora (PHD Students): https://polon2-demo.opi.org.pl/pdat-api/swagger-ui.html
  7. Szkoły doktorskie (Doctoral Schools): https://polon2-demo.opi.org.pl/doctoral-studies-api/swagger-ui.html
  8. ORPPD 2.0 (Theses repository v.2.0): https://polon2-demo.opi.org.pl/rppd-api/swagger-ui.html
  9. Postępowania awansowe (Promotions i Promotion): https://polon2-demo.opi.org.pl/pdat-api/swagger-ui.html
  10. Patenty i prawa ochronne (Patents): https://polon2-demo.opi.org.pl/patents-api/swagger-ui.html
  11. Projekty naukowe (Projects): https://polon2-demo.opi.org.pl/projects-api/swagger-ui.html
  12. Dane finansowe jednostki (Financial data): https://polon2.opi.org.pl/dfi-api/swagger-ui.html
  13. Osiągnięcia artystyczne (Artistic Achievement): https://polon2-demo.opi.org.pl/arts-api/swagger-ui.html
  14. Studenci (Students): https://polon2-demo.opi.org.pl/fields-of-study-api/swagger-ui.html

Powyższe usługi dostępne są także dla środowiska produkcyjnego.
Końcówki na środowisku produkcyjnym mają takie ścieżki dostępu – różnica polega tylko na innym adresie domeny (https://polon2.opi.org.pl zamiast https://polon2-demo.opi.org.pl)

POL-on 2 REST API – Scenariusze

Scenariusze REST API dla wybranych modułów POL-on 2.0 zostały udostępnione w osobnym wpisie pomocy tutaj.

Przykładowy kod programu oparty na REST API POL-on 2

W ramach pomocy dla użytkowników został także udostępniony kod źródłowy przykładowej aplikacji służącej do pobierania danych za pomocą usługi z systemu POL-on 2.
Przykład poniższy obrazuje sposób pobrania tokena dostępowego MCL oraz uwierzytelnienie wywołania jednej z usług z domeny pracownicy systemu POL-on.
Kod programu do pobrania: sample-oauth-polon2-client-v1.0.0

Dokumenty obrazujące działanie REST API w ramach domeny pracowników

Poniższe przykłady stanowią przykłady uzyskane na bazie środowisk testowych przy użyciu oprogramowania POSTMAN.

Dokument prezentujący różne konteksty użycia poszczególnych usług REST API domeny pracownicy DOKUMENT.

Użycie opcji „Try it out” swaggera

Wywołanie REST z wykorzystaniem swagger-ui (przykład dla środowiska polon2-dev)

Konfiguracja i użycie programu POSTMAN w kontekście domeny pracownicy

  • Wywołanie REST z wykorzystaniem POSTMAN
    • ustawienie zmiennych środowiskowych
    • przykładowy REST
    • Pre-request script
      pm.sendRequest({
      url: pm.environment.get("MCL_URL"), 
      method: 'POST',
      header: {
      'Accept': 'application/json',
      'Content-Type': 'application/x-www-form-urlencoded',
      },
      body: {
      mode: 'urlencoded',
      urlencoded: [
      {key: "client_id", value: pm.environment.get("MCL_CLIENT_ID"), disabled: false, description: {content:"", type:"text/plain"}},
      {key: "grant_type", value: "password", disabled: false},
      {key: "username", value: pm.environment.get("MCL_USER"), disabled: false},
      {key: "password", value: pm.environment.get("MCL_PASS"), disabled: false}
      
      ]
      }
      }, function (err, res) {
      pm.environment.set("TOKEN", res.json().access_token);
      pm.environment.set("REFRESH_TOKEN", res.json().refresh_token);
      });

Zobacz też:

Import masowy Generowanie raportów Harmonogram prac