HAN ID ermitteln

[Start]  [Zurück]  [Vorwärts]  

Die Web API verwendet ein standardisiertes Verfahren, um die HAN ID einer Onlineressource zu bestimmen. Aus der vorhandenen (Volltext-) URL wird in mehreren Schritten die zugehörige HAN ID bestimmt:

1.Suche über eindeutige Kriterien (E-ISSN/ISSN oder Journaltitel)

2.Suche über den digitalen Objektbezeichner (DOI)

3.Suche über URL

4.Suche über die Domäne

 

Wurde auf diese Weise ein Ressourcen-Aufruf als HAN E-Skript identifiziert, erfolgt der Redirect auf die entsprechende HAN URL. Wurden mehrere mögliche E-Skripte gefunden, wird immer das erste verwendet. Wird kein E-Skript gefunden, wird die übergebene URL zurückgegeben.

Alternativ zur URL kann auch ein JSON-Objekt zurückgegeben werden, z.B. bei EZB-Titeln mit unterschiedlichen Lizenzzeiträumen. Dem Benutzer können auf diesem Weg weiterführende Informationen präsentiert werden. Kann das anfragende System kein JSON-Objekt verarbeiten, kann auch ein HTML-Template zurückgegeben werden, das mittels Platzhaltern dynamisch mit Daten befüllt wird. Dies ist vor allem bei AJAX-Aufrufen sinnvoller als die Verwendung eines JSON-Objekts.

API-Funktionsweise

Die API wird über ein virtuelles Verzeichnis angesprochen: http://<HAN Server>/hanapi/action.

Der Parameter method entscheidet über die angefragte Methode. Die Schnittstelle zur Bestimmung einer HAN ID wird über den Wert getHANID angesprochen. Zusätzliche Parameter können mittels der HTTP-Methode GET als URL-Parameter angehängt werden, oder als JSON-Objekt über die HTTP-Methode POST gesendet werden.

Folgende zusätzliche Parameter stehen zur Verfügung:

url. Ziel-URL

eissn. E-ISSN (Ist bei SFX als Parameter ISSN hinterlegt, bei der EZB jedoch als E-ISSN.)

title. Titel des Journals

doi. DOI des Volltextes

id. ID der konfigurierten API

 

Die Parameter eissn und doi sind optional. Die Suche ist jedoch präziser, wenn die E-ISSN mit gesendet wird.

 

warning Alle Parameter müssen URL-kodiert übergeben werden.

 

Beispiele

Ein Beispiel für eine URL-Abfrage mit Parametern:

http://handemo.hh-software.com/hanapi/action?method=getHANID&id=search&url=http%3a%2f%2fwww.nature.com

 

Der Aufbau eines JSON-Objekts ist ähnlich dem Aufbau der URL-Parameter, es werden die gleichen Parameternamen verwendet:

 

{

method : getHANID,

url : <URL>,

eissn : <E-ISSN>,

doi : <DOI>,

title : <Titel>,

return : <Rückgabemethode>

}

 

Auch bei der Verwendung eines JSON-Objekts gilt, dass die Standardrückgabe der Redirect ist und immer verwendet wird, wenn die Rückgabemethode nicht spezifiziert wurde.

Rückgabe des Ergebnisses

Die Art der Rückgabe wird über den Parameter return bestimmt. Mögliche Werte für diesen Parameter sind:

0 (Redirect)

1 (JSON)

2 (Template)

 

Standardrückgabe ist der Redirect der HAN URL, ohne Parameter liefert die Schnittstelle immer einen Redirect.

Der Wert „1" gibt folgendes JSON-Objekt zurück:

 

{

count : <Anzahl der gefundenen E-Skripte>,

scripts : <Array, pro E-Skript ein Objekt>

}

 

Wurde kein Ergebnis gefunden, hat der Parameter count den Wert „0". Wurde ein E-Skript gefunden, wird es in folgender Form als JSON-Objekt zurückgegeben:

 

{

hanid: <HAN ID>,

description: <Beschreibung>,

status: <0|1|2>,

expiredate: <Millisekunden seit 1.1.1970, wird nur ausgegeben wenn status:2>

permission: {

active: <false|true>,

description: <Beschreibung der Berechtigung>

},

eissn: <E-ISSN>,

issn: <ISSN>,

periods: <Perioden>,

subjects: [<Fachgebiet Beschreibung>],

publisher: <Verlag>,

provider: <Bezugsquelle>,

license: {

active: <false|true>,

number: <Anzahl der Lizenzen>,

used: <Anzahl der belegten Lizenzen>

},

fulltext: <HAN URL>,

payment: {

type: <Bepreisungsart>,

fee: <Kosten>

}

}

 

Bei mehreren gefundenen E-Skripten werden entsprechend mehrere JSON-Objekte zurückgeliefert.