Tilda API

Automatische Tilda Projektintegration mit Ihrer eigenen Website
Alle Anfragen werden mit der GET-Methode gesendet und die Antwort wird im JSON-Format zurückgegeben.

Die erfolgreiche Antwort lautet:
{
  "status": "FOUND",
  ...
}
Die Fehlerantwort lautet:
{
  "status": "ERROR",
  ...
}
Die Anzahl der Anfragen ist begrenzt: 150 pro Stunde.
API wird verwendet, um auf Tilda erstellte Inhalte mit Ihrer Website zu synchronisieren. Es ist verboten, den Tilda Server aufzufordern, Daten für jeden Besuch eines Nutzers auf Ihrer Website abzurufen.

Alle Inhalte müssen auf Ihrem Server gespeichert werden (einschließlich Bilder, Skripte und Stile), bevor sie an Nutzer verteilt werden können. Wenn Sie durch das ständige Senden von Anfragen an Tilda API-Server eine hohe Last verursachen, kann Ihr Konto gesperrt und die API-Funktion deaktiviert werden.

Wenn der Algorithmus der Synchronisierung gut organisiert ist, sollte es 1-3 Anfragen geben, daher sind 150 Anfragen an den Server pro Stunde mehr als genug. Nach der Synchronisierung sollten keine Anfragen mehr erfolgen, bis Sie etwas auf der Seite geändert haben; in diesem Fall müssen Sie die Informationen erneut synchronisieren.
Wie man beginnt
Bitte beachten Sie, dass die API-Funktion nur für Abonnenten des Tilda Business Plan verfügbar ist. Zunächst benötigen Sie einen öffentlichen Schlüssel und einen geheimen Schlüssel. Sie erhalten diese im Abschnitt API auf Tilda: Website-Einstellungen → Exportieren → API-Integration.
Liste der Anfragen
Liste der Projekte
/v1/getprojectslist

Projektinformationen
/v1/getprojectinfo

Liste der Projektseiten
/v1/getpageslist

Seiteninformationen (+ Body-HTML-Code)
/v1/getpage

Seiteninformationen (+ Ganzseiten-HTML-Code)
/v1/getpagefull

Seiteninformationen für den Export (+ body html-code)
/v1/getpageexport

Vollständige Seiteninformationen für den Export (+ HTML-Code für die gesamte Seite)
/v1/getpagefullexport
Die URLs für alle Anfragen: https://api.tildacdn.info
In jeder Anfrage müssen Sie Variablen senden: publickey und secretkey, und optional, je nach Anfrage, projectid oder pageid.
Sie können die Pfadwerte für Bilder(export_imgpath), JS-Dateien(export_jspath) und CSS-Dateien(export_csspath) auf der Registerkarte "Export" der Site-Einstellungen jedes Projekts festlegen.
Sie können daher relative oder absolute Pfade zu den Dateien angeben, die auf Ihrem Server gespeichert werden, wenn Sie exakte Seitenkopien auf Ihrem Server erstellen möchten.
Abrufen der Liste der Projekte
GET Request URL:
https://api.tildacdn.info/v1/getprojectslist/?publickey=00000000000000000000&secretkey=00000000000000000000
GET Anfrage-URL:
https://api.tildacdn.info/v1/getprojectslist/?publickey=00000000000000000000&secretkey=00000000000000000000
Antwort im JSON-Format:
{
  "status": "FOUND",
  "result": [
    {
      "id": "0",
      "title": "First Project",
      "descr": "Some info"
    },
    {
      "id": "1",
      "title": "Second Project",
      "descr": ""
    },
    ...
  ]
}
Projektinformationen erhalten:
GET Request URL:
https://api.tildacdn.info/v1/getprojectinfo/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0
GET Anfrage-URL:
https://api.tildacdn.info/v1/getprojectinfo/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0
Antwort im JSON-Format:
{
  "status": "FOUND",
  "result": {
    "id": "0",
    "title": "Project title",
    "descr": "",
    "customdomain": "project.com",
    "export_csspath": "",
    "export_jspath": "",
    "export_imgpath": "",
    "indexpageid": "0",
    "customcsstext": "y",
    "favicon": "",
    "page404id": "0",
    "images": [
      {
        "from": "",
        "to": ""
      }
      ...
    ]
  }
}
Um eine Probe der Konfigurationsdatei Ihres Webservers zu erhalten, fügen Sie den Parameter webconfig mit dem Wert htaccess oder nginx zur Anfrage-URL hinzu.

Wenn Sie nginx verwenden, müssen Sie die erhaltene Probe in den Server-Abschnitt der Konfigurationsdatei Ihres Webservers einfügen.
Abrufen der Liste der Projektseiten
GET Request URL:
https://api.tildacdn.info/v1/getpageslist/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0
GET Anfrage-URL:
https://api.tildacdn.info/v1/getpageslist/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0
Antwort im JSON-Format:
{
  "status": "FOUND",
  "result": [
    {
      "id": "1001",
      "projectid": "0",
      "title": "Page title first",
      "descr": "",
      "img": "",
      "featureimg": "",
      "alias": "",
      "date": "2014-05-16 14:45:53",
      "sort": "80",
      "published": "1419702868",
      "filename": "page1001.html"
    },
    {
      "id": "1002",
      "projectid": "0",
      "title": "Page title second",
      "descr": "",
      "img": "",
      "featureimg": "",
      "alias": "",
      "date": "2014-05-17 10:50:00",
      "sort": "90",
      "published": "1419702277",
      "filename": "page1002.html"
    },
    ...
  ]
}
Abrufen der Seiteninformationen
+ body HTML-Code
GET Request URL:
https://api.tildacdn.info/v1/getpage/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
GET Anfrage-URL:
https://api.tildacdn.info/v1/getpage/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Antwort im JSON-Format:
{
  "status": "FOUND",
  "result": {
    "id": "1001",
    "projectid": "0",
    "title": "Page title",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "date": "2014-05-16 14:45:53",
    "sort": "80",
    "published": "1419702868",
    "html": "some html page code",
    "filename": "page1001.html",
    "js": [
      ...
    ],
    "css": [
      ...
    ]
  }
}
Abrufen der Seiteninformationen
+ vollständiger HTML-Code
GET Request URL:
https://api.tildacdn.info/v1/getpagefull/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
GET Anfrage-URL:
https://api.tildacdn.info/v1/getpagefull/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Antwort im JSON-Format:
{
  "status": "FOUND",
  "result": {
    "id": "1001",
    "projectid": "0",
    "title": "Page title",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "date": "2014-05-16 14:45:53",
    "sort": "80",
    "published": "1419702868",
    "html": "some html page code",
    "filename": "page1001.html"
  }
}
Abrufen der Seiteninformationen für den Export
+ HTML-Code der Hauptseite
GET Request URL:
https://api.tildacdn.info/v1/getpageexport/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
GET Anfrage-URL:
https://api.tildacdn.info/v1/getpageexport/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Antwort im JSON-Format:
{
  "status": "FOUND",
  "result": {
    "id": "1001",
    "projectid": "0",
    "title": "Page title",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "date": "2014-05-16 14:45:53",
    "sort": "80",
    "published": "1419702868",
    "images": [
      {
        "from": "",
        "to": ""
      },
      {
        "from": "",
        "to": ""
      },
      {
        "from": "",
        "to": ""
      }
    ],
    "js": [
      {
        "from": "",
        "to": "",
        "attrs": [
          "async"
        ]
      },
      {
        "from": "",
        "to": "",
        "attrs": [
          "defer"
        ]
      },
      {
        "from": "",
        "to": "",
        "attrs": [
          "nomodule"
        ]
      }
    ],
    "html": "body page html-code with local links to files",
    "filename": "page1001.html"
  }
}
Wichtig: Wir empfehlen Ihnen, die statischen Dateien der Seite (Skripte und Stile) jedes Mal herunterzuladen und auf dem neuesten Stand zu halten, wenn Sie diese Anfrage verwenden. Diese Dateien ändern sich ständig, und Sie können nicht überprüfen, ob die Dateien über die API aktualisiert werden.
Abrufen der Seiteninformationen für den Export
+ vollständiger HTML-Code der Seite
GET Request URL:
https://api.tildacdn.info/v1/getpagefullexport/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
GET Anfrage-URL:
https://api.tildacdn.info/v1/getpagefullexport/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Antwort im JSON-Format:
{
  "status": "FOUND",
  "result": {
    "id": "1001",
    "projectid": "0",
    "title": "Page title",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "date": "2014-05-16 14:45:53",
    "sort": "80",
    "published": "1419702868",
    "images": [
      {
        "from": "",
        "to": ""
      },
      {
        "from": "",
        "to": ""
      },
      {
        "from": "",
        "to": ""
      }
    ],
    "html": "full page html-code with local links to files",
    "filename": "page1001.html"
  }
}
Wichtig: Wir empfehlen Ihnen, die statischen Dateien der Seite (Skripte und Stile) jedes Mal herunterzuladen und auf dem neuesten Stand zu halten, wenn Sie diese Anfrage verwenden. Diese Dateien ändern sich ständig, und Sie können nicht überprüfen, ob die Dateien über die API aktualisiert werden.
Webhook (oder Rückruf)
Die Synchronisierung kann automatisch durchgeführt werden. Dazu geben Sie die Skript-URL an, an die eine Anfrage mit einer Benachrichtigung gesendet wird, sobald Sie auf die Schaltfläche "Veröffentlichen" klicken. Auf diese Weise können Sie Inhalte aktualisieren und neue Seiten auf Ihrem Server hinzufügen.

Sie können den Link zum Webhook im API-Abschnitt Ihres Projekts angeben: Website-Einstellungen → Exportieren → API-Integration:
Die Benachrichtigung wird mit der GET-Methode gesendet.
Parameter: pageid, projectid, published, publickey

Ihr Webhook muss bestätigen, dass die Anfrage empfangen wurde. Die erwartete Antwort auf die erfolgreiche Anfrage ist "ok"
(In PHP einfach echo "ok";)

Wenn der Tilda Server die erwartete Antwort nicht erhält, werden 2 weitere Versuche unternommen, die Anfrage an Ihren Server zu wiederholen (insgesamt 3 Anfragen).

Die Anfrage kann nicht sofort gesendet werden, sondern mit einer Verzögerung von 1 bis 20 Minuten nach der Veröffentlichung der Seite. Wenn die Anfrage also nicht sofort kommt, müssen Sie überprüfen, ob sie nicht innerhalb des angegebenen Zeitraums gekommen ist.
Wichtig: Die maximale Wartezeit auf eine Antwort von Ihrem Server beträgt 5 Sekunden. Wenn die Antwort nicht eintrifft, wird die Verbindung unterbrochen. Deshalb sollten Sie diese Benachrichtigung speichern und dann die Synchronisierung durchführen, z. B. per Cron. Wenn Sie viele Bilder auf der Seite haben, reicht diese Zeit normalerweise nicht aus.

wie man
Beispiele für Verwendungsszenarien
Es gibt zwei gängige Szenarien für die Verwendung der Tilda API: Wenn Sie den Export und die Speicherung aller Projektdateien auf Ihrem Server automatisieren müssen, und wenn Sie auf Tilda erstellte Seiten in Ihre Website-Vorlagen integrieren müssen.
So exportieren Sie alle Seiten des Projekts
Unser Ziel ist es, das in unserem Tilda Konto veröffentlichte Projekt auf unserem lokalen Server zu speichern.
  • Geben Sie auf der Registerkarte Export der Website-Einstellungen die Pfade für Bilder, JS-Dateien und CSS-Dateien an, z. B. /images, /js und /css;
  • Merken Sie sich die Projektnummer des gewünschten Projekts;
  • Erstellen Sie ein Skript auf Ihrem Server - es sendet Anfragen an die API, erstellt Dateien und speichert Informationen in diesen Dateien;
  • Erstellen Sie auf dem Server Ordner, in die Sie Dateien kopieren (Bilder, js, css).
  1. Holen Sie sich Informationen über das gewünschte Projekt, indem Sie die Anfrage getprojectinfo senden.
  2. Durchlaufen Sie das Bild-Array, das Sie in der Antwort auf die Anfrage erhalten haben. Es enthält eine Liste von Dateien. Die Quelladresse der Datei finden Sie in der from-Variablen und den lokalen Namen, den Sie zum Speichern der Datei verwenden müssen, in der to-Variablen. Kopieren Sie die Dateien dorthin, wo Sie sie benötigen. Diese Dateien sind für alle Seiten des Projekts gleich.
  3. Wenn Sie den webconfig-Parameter zur vorherigen Anfrage hinzugefügt haben, müssen Sie entweder eine.htaccess-Datei erstellen und sie mit dem Wert der webconfig-Variable füllen oder diesen Wert im Server-Abschnitt der Konfigurationsdatei Ihres nginx-Webservers speichern.
  4. Holen Sie sich die Liste aller Seiten in unserem Projekt, indem Sie die Anfrage getpageslist senden.
  5. Blättern Sie durch die erhaltene Seitenliste. Für jede Seite:
  • Rufen Sie die Seiteninformationen für den Export ab, indem Sie die Anfrage getpagefullexport senden;
  • Speichern Sie Bilder, Skripte und Stile, die auf der Seite verwendet werden, in den Arrays images, js und css auf dem Server;
  • Erstellen Sie eine neue Seitendatei (unter Verwendung des Namens aus der Variablen filename ) und füllen Sie sie mit dem Wert der Variablen html.

Wenn Ihr Ziel darin besteht, Seiten von Tilda in Ihre Vorlage zu integrieren (die bereits die Kopfzeile, das Menü, die Fußzeile usw. enthält), führen Sie dieselben Schritte aus, verwenden aber die getpageexport Anfrage. Sie gibt einen Body-HTML-Code zurück, den Sie in den Inhaltsbereich Ihrer Vorlage einfügen können. Bitte beachten Sie, dass Sie in diesem Fall Skripte und Stile in der Vorlage manuell hinzufügen müssen.
Integration ohne Kopieren von Bildern und JS/CSS-Dateien

Wenn Ihr Projekt nicht stark belastet ist und Sie keine statischen Dateien auf Ihrem Server speichern möchten, verwenden Sie die getpage-Anforderung, die den HTML-Code des Körpers zurückgibt. Die Bilder werden dann vom Tilda Server geladen. Denken Sie vor allem daran, JS- und CSS-Dateien zu Ihrer Vorlage hinzuzufügen. Die Liste dieser Dateien wird in den js- und css-Variablen der Anfrageantwort zurückgegeben.

Ein Beispiel für eine einfache Anfrage mit PHP:
$result = file_get_contents('https://api.tildacdn.info/v1/getprojectinfo/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0');
$project = json_decode($result, true);
print_r($project);
Wenn Sie die API-Exportfunktion verwenden, müssen Sie gemäß den Allgemeinen Geschäftsbedingungen von Tilda auf jeder exportierten Seite die Kennung "Made on Tilda" mit einem Link zu https://tilda.cc als Quelle angeben.
Hergestellt am
Tilda