Abfrageparameter

Jeder API-Endpunkt unterstützt diese Optionen mithilfe von URL-Abfrageparametern:

Abfrage

Standard

Beispiel

Beschreibung

text

?text=foo

Durchsucht und filtert Inhalte anhand des angegebenen Textes

Begrenzung

10

?limit=20

Begrenzt die maximal mögliche Anzahl der Einträge, die vom Endpunkt abgerufen werden. Der Höchstwert beträgt 20.

Versatz

0

?offset=10

Passt den Offset der zurückgegebenen Elemente an

orderBy

createdAt

?orderBy=createdAt

Sie können Entitäten sortieren, indem Sie ein Feld des Modells auswählen, nach dem sortiert werden soll

filter

?filter={"title":"My Mission"}

Filter lassen sich erstellen und kombinieren, um die abgerufenen Inhalte einzugrenzen.

Felder

?fields=id,title,question

Ideanote erfordert, dass der Nutzer der API eine durch Kommas getrennte Liste der zurückzugebenden Felder angibt. Dies dient dazu, die Performance sicherzustellen und das Befüllen verschachtelter Entitäten zu ermöglichen.

Felder

Ideanote erfordert, dass der Nutzer der API eine durch Kommas getrennte Liste der zurückzugebenden Felder angibt. Dies dient dazu, die Performance sicherzustellen und das Befüllen verschachtelter Entitäten zu ermöglichen.

Direkte Felder befüllen

?fields=id,title,question gibt die folgende JSON-Struktur zurück:
{
    "id": "abc",
    "title": "Title",
    "question": "Question"
}

Felder lassen sich direkt in der Entität (siehe Beispiel) befüllen.

Eine Übersicht der Felder, die Sie für jede Entität befüllen können, finden Sie hier. Beispielsweise finden Sie hier alle Felder der Entität Mission hier

Befüllen verschachtelter Felder (Punktsyntax)

?fields=id,title,cover.kind,cover.url.original gibt die folgende JSON-Struktur zurück:
{
    "id": "abc",
    "title": "Title",
    "cover": {
        "kind": "IMAGE",
        "url": {
            "original": "https://...."
        }
    }
}

Verschachtelte Felder können mithilfe der Punktsyntax befüllt werden, zum Beispiel cover.url.original (siehe Beispiel).

Befüllen mehrerer verschachtelter Felder (geschweifte-Klammern-Syntax)

?fields=id,title,cover.{url.original,kind,fileName} gibt die folgende JSON-Struktur zurück:
{
    "id": "abc",
    "title": "Title",
    "cover": {
        "kind": "IMAGE",
        "fileName": "my-file.jpg",
        "url": {
            "original": "https://...."
        }
    }
}

Um mehrere Felder verschachtelter Entitäten einfacher zu befüllen, können mehrere verschachtelte Felder kombiniert werden, zum Beispiel cover.{url.original, kind, fileName} (siehe Beispiel).

Sortierung

Sie können Entitäten sortieren, indem Sie ein Feld des Modells auswählen, nach dem sortiert werden soll

Sortierung nach Eigenschaft mit impliziter aufsteigender Reihenfolge

?orderBy=firstName gibt die folgende JSON-Struktur zurück:
[{ "firstName": "A" }, { "firstName": "B" }, { "firstName": "C" }]

Es ist möglich, nach jeder Eigenschaft eines Modells wie createdAt, title, id usw. zu sortieren, indem man einfach den Namen dieser Eigenschaft als orderBy-Abfrageparameter angibt. Dadurch werden die Einträge in einer ascending Reihenfolge sortiert (siehe Beispiel)

Sortierung nach Eigenschaft mit expliziter aufsteigender Reihenfolge

?orderBy={"key": "firstName", "direction": "DESC"} gibt die folgende JSON-Struktur zurück:
[{ "firstName": "C" }, { "firstName": "B" }, { "firstName": "A" }]

Die Bereitstellung einer JSON-Struktur mit einer key und einer direction-Eigenschaft, beispielsweise {"key": "createdAt", "direction": "DESC"}, gibt Ihnen maximale Kontrolle über die Reihenfolge.

  • key: Die Eigenschaft, nach der sortiert werden soll. Beispiele: createdAt, title, id.
  • direction: Die Sortierreihenfolge der Einträge. Mögliche Werte:

    • DESC: Die Einträge werden in absteigender Reihenfolge sortiert.
    • ASC: Die Einträge werden in aufsteigender Reihenfolge sortiert.

Filter

Sie können Filter erstellen und kombinieren, um die abgerufenen Inhalte einzugrenzen.

Einfache Filterung mit implizitem EQUALS-Operator

Mit dem folgenden Filter werden Entitäten ausgewählt, deren title-Eigenschaft exakt dem Wert "How might we improve our products" entspricht:

?filter={"title":"How might we improve our products"}

Einfache Filterung mit explizitem Operator

Mit dem folgenden Filter werden Entitäten ausgewählt, deren title-Eigenschaft die Teilzeichenfolge "How might we" enthält.

?filter={"title":{"op": "INCLUDES", "value": "How might we"}}

Hier finden Sie eine Liste aller verfügbaren Operatoren:

Operator

Beschreibung

Beispiel

GLEICH

Prüft auf eine exakte Übereinstimmung

{ "title": { "op": "EQUALS", "value": "How might we improve our products" } }

NOT_EQUALS

Die Negation des EQUALS-Operators

Ein vergleichbares Beispiel finden Sie unter EQUALS.

IN

Prüft, ob die Eigenschaft einem der angegebenen Werte entspricht

{ "id": { "op": "IN", "value": ["<guid1>","<guid2>"] } }

IS_NULL

Prüft auf einen Nullwert

{ "details": { op: "IS_NULL" } }

IS_NOT_NULL

Die Negation des IS_NULL-Operators

Siehe IS_NULL für ein vergleichbares Beispiel.

INCLUDES

Prüft, ob die Eigenschaft den angegebenen Wert enthält

{ "title": { "op": "INCLUDES", "value": "How might we" } }

NOT_INCLUDES

Die Negation des INCLUDES-Operators

Ein vergleichbares Beispiel finden Sie unter INCLUDES.

INCLUDES_ELEMENT

Prüft, ob eine JSON-Eigenschaft (z. B. ein Array) den angegebenen Wert enthält

{ "hobbies": { "op": "INCLUDES_ELEMENT", "value": "fishing" } }

NOT_INCLUDES_ELEMENT

Die Negation des INCLUDES_ELEMENT-Operators

Ein vergleichbares Beispiel finden Sie unter INCLUDES_ELEMENT.

KLEINER_ALS
KLEINER_ODER_GLEICH
NICHT_KLEINER_ALS
NICHT_KLEINER_ODER_GLEICH
GRÖSSER_ALS
GRÖSSER_ODER_GLEICH
NICHT_GRÖSSER_ALS
NICHT_GRÖSSER_ODER_GLEICH

All diese Funktionen vergleichen den aktuellen Wert (in der Regel einen ISODate-Wert oder eine Zahl).

{ "rank": { op: "LESS_THAN", value: 5000 } }

Gruppierte Filterung

Der folgende Filter wählt Entitäten aus, die nach 2020-01-01 erstellt wurden, sowie OR Entitäten, für die die id Eigenschaft entweder "6b8e6531-cf07-4d1f-be39-68ea22d88c0e" oder "99e5d8b8-c477-4ce9-812e-9822d18adb99" ist, indem zwei Filter kombiniert werden, die durch einen OR ODER-Operator getrennt sind.

?filter={ "op":"or", "filter":[ { "createdAt": {"op":"GREATER_THAN_OR_EQUALS","value":"2020-01-01T00:00:00.000Z"} }, { "id": { "op":"IN", "value":[ "6b8e6531-cf07-4d1f-be39-68ea22d88c0e", "99e5d8b8-c477-4ce9-812e-9822d18adb99" ] } } ] }

Kombinierte, tiefgehende Filterung

Der folgende Filter kombiniert einen äußeren AND mit einem inneren OR. Er wählt Entitäten aus, bei denen die Frage „How might we“ enthält, AND (entweder ist der Status „OPEN“ ODER der Titel ist „My Mission“)

?filter={"op":"and","filter":[{"question":{ "op":"INCLUDES","value":"How might we"}},{"op":"or","filter":[{"status":"OPEN" },{"title":"My Mission"}]}]}