Integracja z PBN API

  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.

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

Informacja

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,