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)

przykład:
https://sin.put.poznan.pl/api/publications?disciplineCode=informatyka-techniczna-i-telekomunikacja&yearFrom=2017&yearTo=2021


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)

przykład:
https://sin.put.poznan.pl/api/organization/wydzial-informatyki-i-telekomunikacji-politechnika-poznanska


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) 

przykład:
https://sin.put.poznan.pl/api/oai?verb=GetRecord&metadataPrefix=xoai&identifier=oai:sin.put.poznan.pl:40345


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)

przykład:
https://sin.put.poznan.pl/api/oai?verb=ListSets

  • No labels