Skip to content

PHAIDRA API

Giulio edited this page Nov 21, 2017 · 23 revisions

PHAIDRA API

PHAIDRA espone i propri servizi e contenuti tramite delle web API.

Mediante le API si possono ottenere i metadati degli oggetti digitali come documenti XML o in formato JSON (JavaScript Object Notation).

Le API permettono di ottenere, ad esempio, gli oggetti membri di una collezione, gli identificatori e le relazioni di un oggetto e di eseguire operazioni, previa autenticazione, di modifica e creazione di oggetti digitali in PHAIDRA.

Eseguire operazioni con le PHAIDRA API

Le API possono compiere operazioni su PHAIDRA mediante delle chiamate HTTP a delle URL.

Le operazioni di dividono in operazioni di GET per ottenere informazioni da PHAIDRA ed operazioni di POST, solitamente autenticate, per apportare modifiche a PHAIDRA.

Le documentazione completa delle API di PHAIDRA è consultabile all’indirizzo https://github.com/phaidra/phaidra-api/wiki/Documentation.

Comporre le URL per eseguire operazioni su PHAIDRA

https://phaidra.cab.unipd.it/api/ + azione + ? + nome_parametro=valore_parametro + & + ...

Baseurl delle PHAIDRA API

Ogni chiamata alle PHAIDRA API inizia con https://phaidra.cab.unipd.it/api/

Azione delle PHAIDRA API

È l'azione che si vuole compiere mediante le PHAIDRA API. Si compone di un prefisso che individua il tipo di azione da compiere ed il metodo delle API da invocare.

Nel caso si voglia effettuare un'azione su uno specifico oggetto sarà composta come:

object/o:nnnnnn/ + metodo_PHAIDRA_API

dove o:nnnnnn è l'identificatore dell'oggetto digitale in PHAIDRA e metodo_PHAIDRA_API è uno dei metodi invocabili dalle PHAIDRA API.

Nel caso si voglia effettuare un'azione su un oggetto di tipo collezione sarà composta come:

collection/o:nnnnnn/ + metodo_PHAIDRA_API

dove o:nnnnnn è l'identificatore dell'oggetto digitale in PHAIDRA e metodo_PHAIDRA_API è uno dei metodi invocabili dalle PHAIDRA API.

Parametri della richiesta alle PHAIDRA API

Il carattere ? indica che le coppie nome_parametro=valore_parametro saranno aggiunte alla richiesta e dovranno essere elaborate dal server che le riceve.

Se è presente più di una coppia nome_parametro=valore_parametro, le coppie dovranno essere separate dal carattere & (AND logico).

Dipendono dal metodo delle API invocato e possono essere opzionali.


1. Ottenere gli Uwmetadata di un oggetto

https://phaidra.cab.unipd.it/api/object/o:144939/uwmetadata?format=xml

nome_parametro valore_parametro
format xml
<ns0:uwmetadata xmlns:ns0="http://phaidra.univie.ac.at/XML/metadata/V1.0" xmlns:ns1="http://phaidra.univie.ac.at/XML/metadata/lom/V1.0" xmlns:ns10="http://phaidra.univie.ac.at/XML/metadata/provenience/V1.0" xmlns:ns11="http://phaidra.univie.ac.at/XML/metadata/provenience/V1.0/entity" xmlns:ns12="http://phaidra.univie.ac.at/XML/metadata/digitalbook/V1.0" xmlns:ns13="http://phaidra.univie.ac.at/XML/metadata/etheses/V1.0" xmlns:ns2="http://phaidra.univie.ac.at/XML/metadata/extended/V1.0" xmlns:ns3="http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/entity" xmlns:ns4="http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/requirement" xmlns:ns5="http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/educational" xmlns:ns6="http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/annotation" xmlns:ns7="http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/classification" xmlns:ns8="http://phaidra.univie.ac.at/XML/metadata/lom/V1.0/organization" xmlns:ns9="http://phaidra.univie.ac.at/XML/metadata/histkult/V1.0">
  <ns1:general>
    <ns1:identifier>o:144939</ns1:identifier>
    <ns1:title language="it">XII secolo (prima del 1199 novembre 5) - (A )</ns1:title>
    <ns1:language>la</ns1:language>
    <ns1:description language="it">Recto.

Sommario degli argomenti [in favore di S. Maria delle  Carceri] da provare in giudizio, relativi soprattutto all’appartenenza di Montagnana alla Scodosia, con i nominativi dei relativi testimoni.

Scrittura semplice [A].

Il documento era stato realizzato in due fogli (A e B), originariamente cuciti a formare un rodulus, come attestato da una nota tergale, ed oggi separati.

“Le pergamene del Dipartimento di Storia dell’Università di Padova 1199-1236”, p.3-7.
http://catalogo.unipd.it/F?func=find-c&amp;ccl_term=IDN=PUV0777252&amp;local_base=SBP01</ns1:description>
    <ns1:keyword language="it">Pergamena, S. Maria delle Carceri, Montagnana, Scodosia</ns1:keyword>
    <ns1:coverage language="it">XII, Italia, Veneto, Padova </ns1:coverage>
    <ns2:identifiers></ns2:identifiers>
  </ns1:general>
  <ns1:lifecycle>
    <ns1:upload_date>2016-03-08T09:22:18.565Z</ns1:upload_date>
    <ns1:status>44</ns1:status>
    <ns2:peer_reviewed>no</ns2:peer_reviewed>
    <ns1:contribute seq="0">
      <ns1:role>1552154</ns1:role>
      <ns1:entity seq="0">
        <ns3:institution>Università di Padova - Biblioteca di Storia</ns3:institution>
        <ns3:type>institution</ns3:type>
      </ns1:entity>
    </ns1:contribute>
  </ns1:lifecycle>
  <ns1:technical>
    <ns1:format>image/jpeg</ns1:format>
    <ns1:size>1348603</ns1:size>
    <ns1:location>http://phaidra.cab.unipd.it/o:144939</ns1:location>
    <ns1:requirement>
      <ns1:orcomposite></ns1:orcomposite>
    </ns1:requirement>
  </ns1:technical>
  <ns1:educational>
    <ns1:educationals></ns1:educationals>
  </ns1:educational>
  <ns1:rights>
    <ns1:cost>yes</ns1:cost>
    <ns1:copyright>yes</ns1:copyright>
    <ns1:license>1</ns1:license>
  </ns1:rights>
  <ns1:annotation>
    <ns6:annotations>
      <ns6:entity></ns6:entity>
    </ns6:annotations>
  </ns1:annotation>
  <ns1:classification>
    <ns1:purpose>70</ns1:purpose>
  </ns1:classification>
  <ns1:organization>
    <ns8:orgassignment>
      <ns8:faculty>BIB_CAB</ns8:faculty>
      <ns8:department>BibliotecaStoria</ns8:department>
    </ns8:orgassignment>
    <ns8:curriculum></ns8:curriculum>
  </ns1:organization>
  <ns9:histkult>
    <ns9:dimensions seq="0">
      <ns9:resource>1557195</ns9:resource>
      <ns9:dimension_unit>10881</ns9:dimension_unit>
      <ns9:width>150</ns9:width>
      <ns9:height>450</ns9:height>
    </ns9:dimensions>
    <ns9:reference_number>
      <ns9:reference>10885</ns9:reference>
      <ns9:number>4</ns9:number>
    </ns9:reference_number>
  </ns9:histkult>
  <ns10:provenience>
    <ns10:contribute>
      <ns10:entity seq="0"></ns10:entity>
      <ns10:location language="it">Biblioteca di Storia, Perg.Sto.1/A</ns10:location>
    </ns10:contribute>
  </ns10:provenience>
  <ns12:digitalbook></ns12:digitalbook>
  <ns13:etheses></ns13:etheses>
</ns0:uwmetadata>

2. Ottenere il Dublin Core di un oggetto

https://phaidra.cab.unipd.it/api/object/o:144939/dc?format=xml

nome_parametro valore_parametro
format xml
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/">
  <dc:rights>All rights reserved</dc:rights>
  <dc:source>Biblioteca di Storia, Perg.Sto.1/A</dc:source>
  <dc:coverage xml:lang="ita">XII, Italia, Veneto, Padova </dc:coverage>
  <dc:language>lat</dc:language>
  <dc:subject xml:lang="ita">Pergamena, S. Maria delle Carceri, Montagnana, Scodosia</dc:subject>
  <dc:description xml:lang="ita">Recto.

Sommario degli argomenti [in favore di S. Maria delle  Carceri] da provare in giudizio, relativi soprattutto all’appartenenza di Montagnana alla Scodosia, con i nominativi dei relativi testimoni.

Scrittura semplice [A].

Il documento era stato realizzato in due fogli (A e B), originariamente cuciti a formare un rodulus, come attestato da una nota tergale, ed oggi separati.

“Le pergamene del Dipartimento di Storia dell’Università di Padova 1199-1236”, p.3-7.
http://catalogo.unipd.it/F?func=find-c&amp;ccl_term=IDN=PUV0777252&amp;local_base=SBP01</dc:description>
  <dc:identifier>hdl:11168/11.144939</dc:identifier>
  <dc:identifier>http://phaidra.cab.unipd.it/o:144939</dc:identifier>
  <dc:format>image/jpeg (1348603 bytes)</dc:format>
  <dc:format>manuscript (width: 150 mm, height: 450 mm)</dc:format>
  <dc:relation>http://phaidra.cab.unipd.it/o:145104</dc:relation>
  <dc:relation>http://phaidra.cab.unipd.it/o:152073</dc:relation>
  <dc:title xml:lang="ita">XII secolo (prima del 1199 novembre 5) - (A )</dc:title>
  <dc:type xml:lang="eng">Image</dc:type>
  <dc:publisher>PHAIDRA University of Padova</dc:publisher>
  <dc:contributor>Università di Padova - Biblioteca di Storia (Digitiser)</dc:contributor>
</oai_dc:dc>

Se non si fornisce alcun parametro nella richiesta, il Dublin Core di un oggetto in PHAIDRA è restituito dalle API in formato JSON.

Solitamente nel browser un testo in formato JSON viene visualizzato come un'unica stringa di caratteri. Per ottenere una visualizzazione più leggibile si può far uso di servizi online come http://jsbeautifier.org/.

https://phaidra.cab.unipd.it/api/object/o:144939/dc

{
  "metadata": {
    "alerts": [],
    "dc": [{
      "ui_value": "All rights reserved",
      "xmlname": "rights"
    }, {
      "ui_value": "Biblioteca di Storia, Perg.Sto.1\/A",
      "xmlname": "source"
    }, {
      "attributes": [{
        "ui_value": "ita",
        "xmlname": "xml:lang"
      }],
      "ui_value": "XII, Italia, Veneto, Padova ",
      "xmlname": "coverage"
    }, {
      "ui_value": "lat",
      "xmlname": "language"
    }, {
      "attributes": [{
        "ui_value": "ita",
        "xmlname": "xml:lang"
      }],
      "ui_value": "Pergamena, S. Maria delle Carceri, Montagnana, Scodosia",
      "xmlname": "subject"
    }, {
      "attributes": [{
        "ui_value": "ita",
        "xmlname": "xml:lang"
      }],
      "ui_value": "Recto.\n\nSommario degli argomenti [in favore di S. Maria delle  Carceri] da provare in giudizio, relativi soprattutto all’appartenenza di Montagnana alla Scodosia, con i nominativi dei relativi testimoni.\n\nScrittura semplice [A].\n\nIl documento era stato realizzato in due fogli (A e B), originariamente cuciti a formare un rodulus, come attestato da una nota tergale, ed oggi separati.\n\n“Le pergamene del Dipartimento di Storia dell’Università di Padova 1199-1236”, p.3-7.\nhttp:\/\/catalogo.unipd.it\/F?func=find-c&amp;ccl_term=IDN=PUV0777252&amp;local_base=SBP01",
      "xmlname": "description"
    }, {
      "ui_value": "hdl:11168\/11.144939",
      "xmlname": "identifier"
    }, {
      "ui_value": "http:\/\/phaidra.cab.unipd.it\/o:144939",
      "xmlname": "identifier"
    }, {
      "ui_value": "image\/jpeg (1348603 bytes)",
      "xmlname": "format"
    }, {
      "ui_value": "manuscript (width: 150 mm, height: 450 mm)",
      "xmlname": "format"
    }, {
      "ui_value": "http:\/\/phaidra.cab.unipd.it\/o:145104",
      "xmlname": "relation"
    }, {
      "ui_value": "http:\/\/phaidra.cab.unipd.it\/o:152073",
      "xmlname": "relation"
    }, {
      "attributes": [{
        "ui_value": "ita",
        "xmlname": "xml:lang"
      }],
      "ui_value": "XII secolo (prima del 1199 novembre 5) - (A )",
      "xmlname": "title"
    }, {
      "attributes": [{
        "ui_value": "eng",
        "xmlname": "xml:lang"
      }],
      "ui_value": "Image",
      "xmlname": "type"
    }, {
      "ui_value": "PHAIDRA University of Padova",
      "xmlname": "publisher"
    }, {
      "ui_value": "Università di Padova - Biblioteca di Storia (Digitiser)",
      "xmlname": "contributor"
    }],
    "status": 200
  }
}

3. Ottenere gli identificatori di un oggetto

https://phaidra.cab.unipd.it/api/object/o:144939/id

{"alerts":[],"ids":["hdl:11168/11.144939"],"status":200}

4. Ottenere l'identificatore in PHAIDRA degli oggetti membri di una collezione
{
  "alerts": [],
  "metadata": {
    "members": [{
      "pid": "o:145794",
      "pos": null
    }, {
      "pid": "o:147516",
      "pos": null
    }, {
      "pid": "o:147426",
      "pos": null
    }, {
      "pid": "o:145589",
      "pos": null
    }, {
      "pid": "o:152059",
      "pos": null
    },
    [...]
    {
      "pid": "o:147560",
      "pos": null
    }, {
      "pid": "o:145585",
      "pos": null
    }, {
      "pid": "o:145913",
      "pos": null
    }, {
      "pid": "o:145226",
      "pos": null
    }, {
      "pid": "o:147379",
      "pos": null
    }]
  }
}
Esempi di applicazione delle PHAIDRA API

Facendo uso dei metodi esposti dalle PHAIDRA API, è stato sviluppato un componente denominato PHAIDRA Collection Viewer che può essere incluso in un sito web esterno al fine di consentire la visualizzazione di una collezione presente in PHAIDRA.

http://mostre.cab.unipd.it/paleo/it/14/le-tavole-parietali-di-karl-alfred-von-zittel

http://mostre.cab.unipd.it/illustrazione-botanica/it/18/piante-del-r-orto-di-padova

Clone this wiki locally