Udostępnienie publicznego API SIN
Na potrzeby zewnętrznych systemów informacyjnych SIN oferuje zewnętrzne API. API to umożliwia dostęp do danych zebranych w SIN w sposób analogiczny do możliwości, jakie daje interfejs WWW, przy zachowaniu tych samych ograniczeń autoryzacyjnych. API zostało zaimplementowane na dwa sposoby:
- dla kluczowych typów obiektów w bazie danych (tj. jednostka organizacyjna, osoba, publikacja, itd.) zostały udostępnione metody REST API pozwalające na pobranie danych dotyczących takich obiektów w formacie JSON,
- zaimplementowane zostało OAI-PMH API pozwalające na pobieranie danych o dorobku naukowym pracowników zarejestrowanych w bazie SIN.
Implementacja REST API ma pozwolić na elastyczne wykorzystanie danych z SIN w zewnętrznych aplikacjach, natomiast implementacja OAI-PMH API ma pozwolić na łatwe przekazywanie danych z SIN do serwisów takich jak multiwyszukiwarki i większe bazy danych naukowych.
REST API
Dostępne są następujące metody REST API pozwalające na pobranie danych w formacie JSON:
Pobieranie listy publikacji w określonym zakresie czasowym i/lub z określonej dyscypliny
/api/publications
parametry opcjonalne: disciplineCode (String), yearFrom (String), yearTo (String)
Pobieranie listy wszystkich osób w systemie (wszystkich autorów, również zewnętrznych)
/api/people
Pobieranie listy dyscyplin
/api/disciplines
Pobieranie listy wszystkich czasopism w systemie
/api/journals
Powyższe 4 metody są dostępne wyłącznie dla zalogowanych użytkowników portalu
Pobieranie szczegółów z profilu osoby
/api/person/staff-id/{staffId}
parametr wymagany: staffId (String)przykład:
https://sin.put.poznan.pl/api/person/staff-id/4701
Pobieranie szczegółów z profilu osoby (jak wyżej), tylko po innym identyfikatorze
/api/person/code/{code}
parametr wymagany: code (String)przykład:
https://sin.put.poznan.pl/api/person/code/anna.kobusinska
Pobieranie szczegółów z profilu organizacji
/api/organization/{code}
parametr wymagany: code (String)Pobieranie szczegółów publikacji
/api/publication/{code}
parametr wymagany: code (String)przykład:
https://sin.put.poznan.pl/api/publication/i27340
OAI-PMH API
Dostępne są następujące końcówki API zgodne z protokołem OAI-PMH:
Pobieranie szczegółów jednego rekordu
/api/oai?verb=GetRecord
parametry wymagane: verb (String), metadataPrefix (String), identifier (String)
Pobieranie informacji o repozytorium
/api/oai?verb=Identify
parametr wymagany: verb (String)
przykład:
https://sin.put.poznan.pl/api/oai?verb=Identify
Pobieranie listy identyfikatorów (pierwszych 100) dotyczących publikacji
/api/oai?verb=ListIdentifiers
parametry wymagane: verb (String), metadataPrefix (String)
parametr opcjonalny: resumptionToken (String) - w przypadku chęci pobrania kolejnej strony wyników
przykłady:
https://sin.put.poznan.pl/api/oai?verb=ListIdentifiers&metadataPrefix=xoai
https://sin.put.poznan.pl/api/oai?verb=ListIdentifiers&resumptionToken=Mzp8NDp8NTp4b2FpMToxMDB8Mjp8
Pobieranie listy obsługiwanych formatów metadanych
/api/oai?verb=ListMetadataFormats
parametr wymagany: verb (String)
przykład:
https://sin.put.poznan.pl/api/oai?verb=ListMetadataFormats
Pobieranie listy rekordów (pierwszych 100) dotyczących publikacji
/api/oai?verb=ListRecords
parametry wymagane: verb (String), metadataPrefix (String)
parametr opcjonalny: resumptionToken (String) - w przypadku chęci pobrania kolejnej strony wyników
przykłady:
https://sin.put.poznan.pl/api/oai?verb=ListRecords&metadataPrefix=xoai
https://sin.put.poznan.pl/api/oai?verb=ListRecords&resumptionToken=MToxMDB8Mjp8Mzp8NDp8NTp4b2Fp
Pobieranie listy zbiorów
/api/oai?verb=ListSets
parametr wymagany: verb (String)