0

http

Sendet eine HTTP-Anfrage

Was die Funktion macht

Die Funktion http() erlaubt deinem Skript, jede beliebige REST-API aufzurufen – um Daten aus einem externen Dienst abzurufen oder Daten zwischen Ninox-Datenbanken auszutauschen.

ℹ️ Der Zugriff auf eine andere Ninox-Datenbank erfordert einen API-Key.

Wo ausführen

⚠️ Verwenden Sie http() nicht innerhalb von do as transaction...end

Transaktionen nutzen alle dieselbe gemeinsame Schreibschlange. Ein HTTP-Aufruf in einer Transaktion blockiert deshalb sämtliche anderen Schreibvorgänge, bis die Anfrage abgeschlossen ist. Die Blockade dauert nicht unbegrenzt, stoppt jedoch alle anstehenden Schreibprozesse für die komplette Dauer des Aufrufs und kann Ihre App spürbar verlangsamen.

Kontext Timeout Warum das wichtig ist
Innerhalb von do as server...end ≈ 20–120 s

Empfohlen – verhindert, dass die Client-UI einfriert, erzwingt ein Sicherheits-Timeout und folgt den Best-Practice-Empfehlungen von Ninox.
Performance der Skripte optimieren ↗

Außerhalb von do as server...end Kein Limit (wartet unbegrenzt) Blockiert die UI, bis die API antwortet – nur mit Vorsicht verwenden.

Parameter

Name Typ Erforderlich Zweck
method String ☑️ HTTP-Methode (z. B. "GET", "POST")
url String ☑️ Endpunkt-URL
header JSON HTTP-Header (API-Schlüssel, content-type, …)
body JSON Anfragedaten (Payload)
files [file] Dateien zum Hochladen (nur im Server-Kontext)

Syntax

http(method, url)
http(method, url, header)
http(method, url, header, body)
http(method, url, header, files)
http(method, url, header, body, files)

Rückgabewert

Gibt stets ein JSON-Objekt zurück – entweder die API-Antwort oder eine Fehlermeldung.

Beispiele

1. Alle Tabellen der aktuellen Datenbank auflisten

let url := "https://api.ninoxdb.de/v1/teams/" + teamId() +
           "/databases/" + databaseId() + "/tables/";
let apiKey := "Bearer abcd1234-0000-xxxx-zzzz-1a1aa1aaa1a111";

let response := http("GET", url, {
  Authorization: apiKey
});
response  // JSON-Array mit Tabellen oder Fehlerobjekt

2. Datensätze serverseitig abfragen

do as server
  let url := "https://api.ninoxdb.de/v1/teams/" + teamId() +
             "/databases/" + databaseId() + "/query";
  let apiKey := "Bearer abcd1234-0000-xxxx-zzzz-1a1aa1aaa1a111";

  let response := http("POST", url, {
    Authorization: apiKey,
    "content-type": "application/json"
  }, {
    query: "select Kunden where Status = 4"
  });
  response  // Treffer oder Fehlerobjekt
end

3. Eine Datei hochladen

do as server
  let response := http("POST",
                       "https://example.com/upload",
                       { "content-type": "multipart/form-data" },
                       null,
                       [myFile])
end

Siehe auch

Einführung in die Ninox-API

API-Calls im Ninox-Skript

Antwort

null