API Dokumentation

Dieses Dokument beschreibt die API, welche für fotoCH entwickelt wurde und öffentlich genutzt werden kann. Diese API wird vom neuen AngularJS basierten Frontend benutzt: https://de.foto-ch.ch/ Zu inhaltlichen Aspekten verweisen wir auf das foto-ch-Handbuch. Die API wird ständig weiterentwickelt. Künftige Änderungungen sollten mit dieser Version kompatibel sein. Nötige Anpassungen und Fehlerbehebungen können aber vorkommen.

Allgemeine Infos

Alle API Aufrufe in diesem Dokument sind relativ zu API-URL: https://de.foto-ch.ch/api/. Die Daten werden im JSON Format zurückgegeben.

Rechtslage

Die Inhalte von fotoCH sind unter folgenden Bedingungen nutzbar:

Sprache

Mit dem Parameter lang kann angegeben werden, in welcher Sprache der Content gewünscht wird

Entitäten

Folgende Objekttypen können als Liste oder Einzelsatz abgerufen werden:

Streamsearch

Gibt mehrere JSON Objekte als gestreamte Anworten zurück.Wird für Listenansichten und Suchen verwendet Erlaubte Parameter:

Beispiele
Beispiel um die gestreamte Antwort zu verarbeiten (Beispiel Angular $http):
$http({
    method: "GET",
    url: "https://de.foto-ch.ch/api/?a=streamsearch&query=apfel",
    headers: {
       'Content-Type': "text/plain"
    },
    transformResponse: [function (data) {return data;}],
    onProgress: function(event) {
        try {
            var response = event.currentTarget.responseText;
            response = response.replace(/}{/g, "},{"); // Fehlende Komma's zwischen den Resultaten
            response = "[" + response + "]"; // Zu Array "umwandeln"
            var newresult = JSON.parse(response); // Nun gültiges JSON parsen
            newresult = newresult[newresult.length-1]; // Letzte Antwort extrahieren
            console.log(newresult);
        } catch (e) {
            console.log(e);
        }
    }
}).then(function(e) {
    // done
});

Filters

Kann verwendet werden um von gewissen Feldern die “DISTINCT” Werte zu erhalten, um entsprechende Filterungen auf Inhalte und “direct” Queries für die Streamsearch durchzuführen.

Teilweise werden nur Texte, Teilweise ein Assoziative Array mit ID und Value zurückgegeben, Wird ID & Value zurückgegeben, muss die direct Search in der Stream Query mit der ID durchgeführt werden.

Query Beispiel: /?a=filters&type=bildgattungen

Paremeter

Statistiken

Liste aller Fotografen

Parameter

Detaildaten eines Fotografen

Aktualisierte Fotografen

Institutionen

Liste aller Institutionen

Parameter

Detaildaten einer Institution

Ausstellungen

Liste mit allen Ausstellungen

Parameter

Detaildaten einer Ausstellung

Bestände

Liste aller Bestände

Parameter

Detaildaten eines Bestandes

Fotoportal

Liste aller Fotos

Parameter

Detaildaten eines Bildes

Georeferenzen

dieser Bereich ist noch nicht definitiv! Test im Frontend: [https://de.foto-ch.ch/#/test] https://de.foto-ch.ch/#/test

Liste aller Arbeitsorte und Aufnahmeorte von Fotos

Detaildaten eines Arbeitsortes

Versionsübersicht