Fachinformationsdienst Musikwissenschaft

Direkt zum Inhalt | Direkt zur Navigation

Benutzerspezifische Werkzeuge

Sektionen

    Benutzerspezifische Werkzeuge

    Sie sind hier: Startseite / Hilfe / Informationen zur API

    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}'