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 vondo 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. |
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