Dokumentacja API

Protokół OAI-PMH

API umożliwia wyszukiwanie rekordów bibliogaficznych oraz wzorcowych, z użyciem protokołu OAI-PMH. Możliwa jest filtracja wyników, poprzez podanie odpowiednich parametrów zapytania oraz ich wartości. Dostępny format, w których zwracana jest odpowiedź to marc21.

Adresy url zasobów

Tworzenie adresów żądania

Przykładowy adres: /oai/bibs?verb=ListRecords&metadataPrefix=marc21

bibs - typ zasobów
? - symbol po którym podawane są parametry żądania np. id, data utworzenia
verb - wskazuje typ odpowiedzi
metadataPrefix - wskazuje format odpowiedzi
& - symbol oddzielający poszczególne parametry

Parametry żądania

verb

Typ odpowiedzi. Zawiera nazwę czynności wykonanej przez serwis. W zależności od czynności, lista wymaganych parametrów może się różnić. Parametr wymagany.

Dostępne wartości:
  • Identify - zwraca informacje o serwerze. Nie wymaga żadnych dodatkowych parametrów
  • ListIdentifiers - zwraca listę identyfikatorów spełniających określone kryteria
    Parametry opcjonalne: from, until, set, resumptionToken, metadataPrefix
  • ListMetadataFormats - zwraca listę dostępnych formatów
    Parametr opcjonalny: identifier
  • ListSets - zwraca listę dostępnych zbiorów
    Parametry opcjonalne: resumptionToken, metadataPrefix
  • ListRecords - zwraca listę rekordów spełnających określone kryteria
    Parametry opcjonane: from, until, set, resumptionToken
    Parametr wymagany: metadataPrefix
  • GetRecord - zwraca rekord o danym identyfikatorze
    Parametry wymagane: identifier, metadataPrefix
identifier

Identyfikator rekordu

Przykład: 1153387, b11533870, oai:bn.org.pl/b11533870
set

Kod zbioru. Dostępny dla rekordów bibliogaficznych.

Przykład: m
from

Dolna granica przedziału, w którym rekordy zostały utworzone, podawana w formacie ISO 8601.

Przykład: 2000-08-09T12:00:00Z
until

Górna granica przedziału, w którym rekordy zostały utworzone, podawana w formacie ISO 8601.

Przykład: 2016-09-12T11:59:59Z
resumptionToken

Zawiera identyfikator rekordu wraz z parametrami zapytania. Używany w celu paginacji zwróconego wyniku.

Przykład: marc21.f(0000-01-01T22:36:00Z).u(2999-12-30T23:00:00Z):1223940
metadataPrefix

Format odpowiedzi.

Przykład: marc21

Przykładowy wynik zapytania

<?xml version="1.0" encoding="UTF-8"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2017-01-20T12:30:18Z</responseDate>
  <request identifier="oai:bn.org.pl/b11533870" metadataPrefix="marc21" verb="GetRecord">http://localhost:3000/oai/bibs</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:bn.org.pl/b11533870</identifier>
        <datestamp>2016-11-30T09:38:53Z</datestamp>
        <setSpec>m</setSpec>
      </header>
      <metadata>
        <record xmlns="http://www.loc.gov/MARC21/slim">
          <leader>00000nam a2200000 i 4500</leader>
          <controlfield tag="001">b11533870</controlfield>
          <controlfield tag="008">981002s1993    fr a         |000 0 fre  nam i</controlfield>
          <datafield ind1=" " ind2=" " tag="020">
            <subfield code="a">2906072257</subfield>
          </datafield>
          <datafield ind1=" " ind2=" " tag="035">
            <subfield code="a">(OCoLC)751271540</subfield>
          </datafield>
          <datafield ind1=" " ind2=" " tag="040">
            <subfield code="a">WA N</subfield>
            <subfield code="c">WA N</subfield>
          </datafield>
          <datafield ind1="1" ind2=" " tag="100">
            <subfield code="a">Marek, Edmond</subfield>
            <subfield code="d">(1912-2009)</subfield>
          </datafield>
          <datafield ind1="1" ind2="0" tag="245">
            <subfield code="a">Du Bellay et Kochanowski :</subfield>
            <subfield code="b">defenseurs et illustrateurs de la langue nationale /</subfield>
            <subfield code="c">Edmond Marek.</subfield>
          </datafield>
          <datafield ind1=" " ind2=" " tag="260">
            <subfield code="a">Lille :</subfield>
            <subfield code="b">Club Polonia-Nord,</subfield>
            <subfield code="c">1993.</subfield>
          </datafield>
          <datafield ind1=" " ind2=" " tag="300">
            <subfield code="a">39 s. :</subfield>
            <subfield code="b">facs., portr. ;</subfield>
            <subfield code="c">21 cm.</subfield>
          </datafield>
          <datafield ind1="1" ind2=" " tag="490">
            <subfield code="a">[Conférences du Club Polonia-Nord],</subfield>
            <subfield code="x">0993-8834</subfield>
          </datafield>
          <datafield ind1=" " ind2=" " tag="504">
            <subfield code="a">Bibliogr. s. 33-35.</subfield>
          </datafield>
          <datafield ind1="4" ind2=" " tag="510">
            <subfield code="a">BF 1993</subfield>
            <subfield code="c">24 poz. 34829.</subfield>
          </datafield>
          <datafield ind1="1" ind2="4" tag="600">
            <subfield code="a">Du Bellay, Joachim</subfield>
            <subfield code="d">(1522-1560)</subfield>
          </datafield>
          <datafield ind1="1" ind2="4" tag="600">
            <subfield code="a">Kochanowski, Jan</subfield>
            <subfield code="d">(1530-1584)</subfield>
          </datafield>
          <datafield ind1=" " ind2="4" tag="648">
            <subfield code="a">1501-1600</subfield>
          </datafield>
          <datafield ind1=" " ind2="4" tag="655">
            <subfield code="a">Poezja francuska</subfield>
            <subfield code="x">historia</subfield>
            <subfield code="y">16 w.</subfield>
          </datafield>
          <datafield ind1=" " ind2="4" tag="655">
            <subfield code="a">Poezja polska</subfield>
            <subfield code="x">historia</subfield>
            <subfield code="y">16 w.</subfield>
          </datafield>
          <datafield ind1=" " ind2="0" tag="830">
            <subfield code="a">Conférences du Club Polonia-Nord,</subfield>
            <subfield code="x">0993-8834</subfield>
          </datafield>
          <datafield ind1=" " ind2=" " tag="920">
            <subfield code="a">2-906072-25-7</subfield>
          </datafield>
        </record>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>