Integration und HTTP
Lerne, wie du externe Dienste aufrufst, XML gegen XSD-Schemas validierst, XML transformierst, E-Mails sendest und Kalendereinträge in Ninox Skripten erstellst.
Integrationsfunktionen verbinden deine App mit Diensten und Kommunikationstools außerhalb von Ninox. Du kannst APIs aufrufen, XML gegen Schemas validieren, XML transformieren und E-Mails senden, wenn deine Umgebung das unterstützt.
In diesem Kapitel lernst du, wie du:
externe Dienste mit HTTP aufrufst.
XML transformierst.
email()
Gibt einen E-Mail-Wert zurück oder verwendet ihn wieder
formatXML()
Konvertiert JSON-Daten in XML-Text
http()
Sendet eine HTTP-Anfrage
parseXML()
Konvertiert XML-Text in ein JSON-Objekt
Externe Dienste aufrufen
Nutze diese Funktionen, um jede REST API aufzurufen, Daten aus einem anderen Dienst zu holen oder Daten zwischen Ninox Datenbanken zu übertragen.
Mit http() eine API aufrufen
Nutze http(), um eine Anfrage an einen externen Dienst zu senden.
Nutze es, wenn du:
Daten aus einem anderen System holen oder Updates dorthin senden willst.
Ninox mit REST APIs und anderen Ninox Datenbanken verbinden willst.
Setze http() nicht in do as transaction...end ein
Transaktionen nutzen eine single-threaded Schreibwarteschlange. Ein HTTP-Aufruf innerhalb einer Transaktion blockiert alle anderen Schreibvorgänge, bis die Anfrage abgeschlossen ist. Die App hängt nicht dauerhaft, aber jeder wartende Schreibvorgang wartet über die komplette Laufzeit des Aufrufs. Das kann die App langsam wirken lassen.
http(method, url)
http(method, url, body)
http(method, url, header, body)
http(method, url, header, body, files)
methodTextwert der HTTP-Methode, zum Beispiel"GET"oder"POST"urlTextwert der Endpoint-URLheaderoptionale Header als JSON-Objekt, zum Beispiel{ Authorization: token }bodyoptionaler Request-Body als JSON-Objektfilesoptionale Dateien zum Upload als[file], wenn der aktuelle Ausführungskontext Datei-Uploads unterstützt (Server-Kontext)
Beim Zugriff auf Ninox Daten ist ein Body erforderlich
Wenn du http() nutzt, um auf Daten in Ninox zuzugreifen, musst du einen Body übergeben. Wenn keine Informationen im Body nötig sind, bleibt er einfach leer. Ein Beispiel dafür ist:
http(“GET”, “https://api.ninox.com/v1/[...]”, {Authorization: “Bearer xxxx-xxxx-xxxx”, content-type: “application/json”}, {})
Schauen wir uns einige Beispiele an:
Ruft den externen Dienst auf und gibt ein JSON-Antwortobjekt oder ein Fehlerobjekt zurück.
Listet Tabellen aus der aktuellen Datenbank über die Ninox API oder gibt ein Fehlerobjekt zurück.
Sendet eine POST-Anfrage und gibt passende Datensätze oder ein Fehlerobjekt zurück.
Lädt eine Datei zu einem externen Dienst hoch, wenn Datei-Uploads im aktuellen Ausführungskontext unterstützt werden.
Tipps:
http()gibt ein JSON-Objekt zurück, keinen Klartext.Wenn du auf eine andere Ninox Datenbank zugreifst, brauchst du einen API-Key.
Manche Endpoints erwarten selbst bei
GET-Anfragen einen Body. Nutze{}, wenn der Ziel-Endpoint einen Body verlangt und du keine Felder senden musst.Datei-Uploads hängen vom Ausführungskontext ab.
Teste Integrationsskripte mit echten Antworten des Dienstes, nicht nur mit Beispielausgaben.
XML transformieren
Nutze diese Funktionen, wenn ein anderes System XML sendet oder erwartet, besonders wenn das XML zu einem definierten Schema passen muss.
Mit parseXML() XML-Text in Daten umwandeln
Nutze parseXML(), um XML-Text in ein JSON-Objekt umzuwandeln, das du in Ninox prüfen kannst. Das ist besonders nützlich, wenn du Ninox per API mit externen Diensten verbindest und XML-Antworten verarbeiten musst. XML ist neben JSON ein gängiges Austauschformat.
Nutze es, wenn du:
Werte aus einer XML-Antwort lesen willst.
Felder aus importiertem XML extrahieren willst.
XML für spätere Logik in strukturierte Daten umwandeln willst.
parseXML(string)
stringder XML-Text, den du in ein JSON-Objekt umwandeln willst
Schauen wir uns einige Beispiele an:
Gibt ein JSON-Objekt zurück, das aus dem XML-Text erzeugt wurde, zum Beispiel:
Tipp:
Wenn du ein XSD-Schema hast, validiere externes XML vor dem Parsen.
Mit formatXML() XML-Text erstellen
Nutze formatXML(), um JSON-Daten in XML-Text umzuwandeln.
Nutze es, wenn du:
XML für einen anderen Dienst vorbereiten willst.
geparste Daten in lesbares XML umformatieren willst.
formatXML(JSON)
formatXML(JSON, boolean)
JSONdie strukturierten Daten, die du in XML umwandeln willstbooleanob die Ausgabe zur besseren Lesbarkeit optisch strukturiert sein soll
Schauen wir uns einige Beispiele an:
Formatiert das geparste Objekt zurück in gut lesbaren XML-Text.
Konvertiert das JSON-Objekt in strukturierten XML-Text. Schlüssel wie @type werden zu XML-Attributen. @ wird zum Textwert des Knotens.
Tipps:
Nutze die Pretty-Option, wenn Menschen das Ergebnis lesen sollen.
Nutze kompakte Ausgabe, wenn das Zielsystem nur die Nutzlast braucht.
Diese Funktion ist besonders nützlich für API-Integrationen, die XML statt JSON erwarten.
E-Mail-Nachrichten senden
Nutze diese Funktion, um E-Mail-Adressen als klickbare Werte anzuzeigen.
E-Mail-Werte mit email() verwenden
Nutze email(), um Text in einen E-Mail-Wert umzuwandeln.
Nutze die Funktion, wenn du:
die E-Mail-App deines Geräts über eine E-Mail-Adresse öffnen willst.
ein Logikfeld als E-Mail-Feld anzeigen willst.
eine E-Mail-Adresse aus Text extrahieren und mit einem Klick nutzen willst.
email(string)
stringder Textwert für die E-Mail-Adresse. Gib ein@und eine gültige Domain an.
Schauen wir uns einige Beispiele an:
Wandelt den Wert im Feld "E-Mail-Adresse" in einen E-Mail-Wert um.
Zeigt die Adresse als E-Mail-Wert mit klickbarer E-Mail-Aktion an.
Tipps:
Formatiere E-Mail-Adressen korrekt. Andernfalls gibt die E-Mail-Aktion einen Fehler zurück.
Eine korrekt formatierte Adresse öffnet die Standard-E-Mail-App deines Geräts.
Zuletzt aktualisiert
War das hilfreich?