Przejdź do treści

Integracja z PBN API - dla adminsitratora

  1. Celem uzyskania dostępu do PBN API, należy po stronie PBN z użytkownika mającego rolę "Menadżer aplikacji" utworzyć aplikację o danym identyfikatorze (np. "BPP") oraz token dla tej aplikacji. W serwisie testowym po zalogowaniu można te dane podejrzeć pod adresem https://pbn-micro-alpha.opi.org.pl/auth/pbn/api/manager/applications/0

  2. Adres zwrotny ("callback") dla aplikacji należy ustawić jako https://nazwa.serwera.bpp/pbn_api/callback

  3. Identyfikator i token aplikacji należy wpisać do ustawień obiektu Uczelnia w module "Redagowanie" (Redagowanie -> Struktura -> Uczelnia -> zakładka "PBN API")

  4. Podczas edycji powyższych ustawień należy zwrócić uwagę na adres PBN API, dla serwisu testowego w momencie tworzenia niniejszej dokumentacji jest to domyślnie https://pbn-micro-alpha.opi.org.pl/ . Jeżeli korzystamy z wersji produkcyjnej to należy ten adres zaktualizować.

  5. Integrację z PBN API kontrolują dwa ustawienia obiektu "Uczelnia".

    • "integracja z PBN API": gdy zaznaczone, system będzie cyklicznie pobierał informacje z PBNu do bazy BPP; dane te można obejrzeć w module redagowania oraz użyć ich do ręcznego ustawiania odpowiedników PBN dla rekordów z BPP
    • "aktualizuj rekordy w PBN na bieżąco": to ustawienie sprawia, że po zapisywaniu rekordów w BPP są one na bieżąco wysyłane do PBN. W chwili tworzenia niniejszej dokumentacji ta opcja może nieco spowolnić zapisywanie rekordów w module redagowania, gdyż system każdorazowo wysyła dane do PBN i czeka na potwierdzenie. W przypadku niepowodzenia użytkownik dostaje adekwatny komunikat, ale brak dostępności serwerów PBN czy prowadzone na nich prace serwisowe nie powinien mieć wpływu na edycję bazy BPP
  6. Dla integracji z PBN warto podać również konto użytkownika BPP które będzie używane do celów wgrywania danych na serwer - pod warunkiem, że ów użytkownik wcześniej zaloguje się do BPP i dokona autoryzacji swojego konta w PBN API.

  7. Rekordy publikacji aby były dodane do PBN musza spełniać następujące warunki:

    • określony DOI lub strona WWW,
    • charakter formalny musi mieć określony rodzaj dla PBN,
    • język musi mieć określony odpowiednik dla PBN,
    • jednostki muszą mieć określony odpowiednik dla PBN,
    • zrodlo musi mieć okreslony odpowiednik dla PBN,
    • wydawca musi mieć określony odpowiednik dla PBN,
    • autorzy mogą lecz nie muszą mieć określony odpowiednik dla PBN,
    • autorzy powinni mieć uzupełnione numery ORCID,
    • autorzy muszą mieć przypisaną dyscyplinę naukową (w przypadku wysyłania prac z oświadczeniami).
  8. System umożliwia także wysyłanie prac bez oświadczeń do PBN. Takie prace są wysyłane do repozytorium PBN i nie zawierają informacji o dyscyplinach naukowych autorów. Prace bez oświadczeń wysyła się identycznie jak prace z oświadczeniami - z poziomu panelu Redagowania systemu BPP. Użytkownik otrzymuje informację o tym, że praca została wysłana bez oświadczeń.

    Możliwość wysyłki prac bez oświadczeń zależy od konfiguracji systemu - należy ją włączyć w panelu Redagowania, w zakładce Struktura → Uczelnia/Instytut, w sekcji ustawień PBN API.

Wgrywanie wyłącznie opłat do PBN przez API

Pojedyncze rekordy:

bpp-manage.py pbn_client upload_publication_fee pub:wydawnictwo_ciagle:{id rekordu}

Wszystkie rekordy:

bpp-manage.py pbn_upload_fees

Note

Procedura pbn_upload_fees w przypadku wgrywania informacji o płatnościach dla publikacji która nigdy nie była wcześniej wgrywana do PBN (nie posiada numeru PBN UID czyli "odpowiednika PBN") wgra taką pracę na serwer.

Kody błędów

Podczas synchronizacji z PBN mogą wystąpić m.in. następujące wyjątki:

  • PraceSerwisoweException: po stronie PBN trwają prace serwisowe - zamiast odpowiedzi API w formacie JSON, serwer PBN zwraca stronę błędu z pszczółkami,