Informationen zur API

Das Application programming interface (API), ist eine Anwendungsschnittstelle, an der anderen Programmen die Anbindung an das System zur Verfügung gestellt wird. Mit der API können Such-Abfragen an das ERMS (Content Management System des KFL) gestellt werden.

Die API beinhaltet derzeit die Möglichkeit Such-Abfragen an das ERMS zu stellen. Damit ist es möglich auf Objekte und ihre Daten zuzugreifen.

Allgemeines

Basis-URL: https://beispiel.fid-lizenzen.de/api

Such-API

Das ERMS stellt einen Index zur Verfügung, auf den wie folgt zugegriffen werden kann.

Zugriffs-URL: Basis-URL/query
Zugriffs-Methode: POST

Der Inhalt der Anfrage muss eine Assoziative Liste sein ( JSON ).

Diese Liste kann folgende Parameter beinhalten.

Parameter

Die Suche lässt sich über folgende Parameter beeinflussen.

NameBeschreibungWert
q Query / Suche im Index Assoziative Liste
rows Anzahl der zurückgelieferten Treffer Zahl 0..500
start Startpunkt der zurückgelieferten Treffer Zahl 1..n
wt Ausgabe-Format

String

[ json ]

sort Sortierung der zurückgelieferten Treffer

String

[ UID ]

Der Zugriff auf den Index wird durch den Parameter q bestimmt.

Indizes

IndexBeschreibungWert
portal_type Objekt-Typ

String oder Liste

[ NLInstitution | NLIndividual | NLProduct | NLLicenceModelStandard

| Relation FID | Relation Institution Individual ]

modified Datum der letzten Bearbeitung Assoziative Liste; Datumsangaben
review_state Objekt-Status String oder Liste, abhängig vom Objekt-Typ
UID Primärer Schlüssel UUID

Objekt-Status

Objekt-TypMögliche Status
NLInstitution [ created | registered | accepted | rejected ]
NLIndividual [ created | registered | accepted | rejected ]
NLProduct [ private| internal | published ]
NLLicenceModelStandard [ private| internal | published ]
Relation FID [ fcheck | unauthorized | authorized ]
Relation Institution Individual [ fcheck | unauthorized | authorized ]

Datumsangaben

{
    'query': (
        '2016-03-01 00:00:00',
        '2016-03-02 00:00:00',
    ),
    'range': 'min:max',
}

Ausgabe

Format: JSON ( Assoziative Liste )

 {
    "response": {
        "docs": [],
"start": 0,
        "numFound": 0
    },
    "responseHeader": {
        "QTime": 0,
        "Request": "",
        "Date": "",
        "Query": {}
    }
}
FeldnameBeschreibungWert
response Assoziative Liste
docs Liste mit Objekten Liste
start Startpunkt der zurückgelieferten Treffer Zahl
numFound Gesamtzahl der Treffer Zahl
responseHeader Allgemeine Angaben zur Anfrage Assoziative Liste
QTime Abfrage-Dauer Zahl
Request Abfrage-URL URL
Date Abfrage-Datum Datum
Query Abfrage-Parameter Assoziative Liste

 

Beispiele:

 Alle Institutionen

q = {'meta_type': 'NLInstitution'}

JSON: '{"q": {"meta_type": "NLInstitution", "start": 0, "rows": 10}'

Alle Institutionen, die innerhalb eines bestimmten Tages geändert wurde

q = {'meta_type': 'NLInstitution',
  'modified': {'query': ('2016-02-01 00:00:00', '2016-02-29 00:00:00'),
  'range': 'min:max'}}

JSON: '{"q": {"meta_type": "NLInstitution", "modified": {"query": ["2016-02-01 00:00:00", "2016-02-29 00:00:00"], "range": "min:max"}}, "start": 0, "rows": 10}'