API de Tilda

Intégration automatique du projet Tilda avec votre propre site Web
Toutes les requêtes sont envoyées à l'aide de la méthode GET et la réponse est renvoyée au format JSON.

La réponse réussie est :
{
  « status »: « TROUVÉ »,
  ...
}
La réponse d'erreur est :
{
  « status »: « ERREUR »,
  ...
}
Il y a une limite au nombre de requêtes : 150 par heure.
L’API est utilisée pour synchroniser le contenu créé sur Tilda avec votre site Web. Il est interdit de demander au serveur Tilda de récupérer des données pour chaque visite d’utilisateur sur votre site Web.

Tout le contenu doit être enregistré sur votre serveur (y compris les images, les scripts et les styles) avant de pouvoir être distribué aux utilisateurs. Si vous créez une charge en envoyant constamment des requêtes aux serveurs API Tilda, votre compte peut être bloqué et la fonctionnalité API sera désactivée.

Si l'algorithme de synchronisation est bien organisé, il devrait y avoir 1 à 3 requêtes, donc 150 requêtes au serveur par heure sont plus que suffisantes. Il ne devrait y avoir aucune demande après la synchronisation jusqu'à ce que vous ayez modifié quelque chose sur la page, dans ce cas, vous devrez synchroniser à nouveau les informations.
Comment commencer
Veuillez noter que la fonctionnalité API n’est disponible que pour les abonnés au plan Tilda Business. Pour commencer, vous devez obtenir une clé publique et une clé secrète. Vous pouvez les obtenir dans la section API sur Tilda : Paramètres du site → Exportation → Intégration de l’API.
Liste des demandes
Liste des projets
/v1/getprojectslist

Informations sur le projet
/v1/getprojectinfo

Liste des pages du projet
/v1/getpageslist

Informations sur la page (+ code html du corps)
/v1/getpage

Informations sur la page (+ code html pleine page)
/v1/getpagefull

Informations sur la page pour l’exportation (+ code html du corps)
/v1/getpageexport

Informations complètes de la page pour l’exportation (+ code html pleine page)
/v1/getpagefullexport
Les URL de toutes les demandes : https://api.tildacdn.info
Dans chaque requête, vous devez envoyer des variables : publickey et secretkey, et éventuellement, selon la requête, projectid ou pageid.
Vous pouvez définir les valeurs de chemin d’accès pour les images (export_imgpath), les fichiers JS (export_jspath) et les fichiers CSS (export_csspath) dans l’onglet Exporter des paramètres du site de chaque projet.
Par conséquent, vous pouvez spécifier des chemins relatifs ou absolus aux fichiers qui seront stockés sur votre serveur si vous souhaitez créer des copies de pages exactes sur votre serveur.
Obtenir la liste des projets
OBTENIR L’URL DE LA DEMANDE :
https://api.tildacdn.info/v1/ getprojectslist/?publickey=000000000000000000&secretkey=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OBTENIR l'URL de la requête :
https://api.tildacdn.info/v1/getprojectslist/?publickey=00000000000000000000&secretkey=00000000000000000000
Réponse au format JSON :
{
  « status »: « TROUVÉ »,
  « résultat »: [
    {
      « id »: « 0 »,
      « titre »: « Premier projet »,
      « descr »: « Quelques infos »
    },
    {
      « id »: « 1 »,
      « titre »: « Deuxième projet »,
      « descr »: «  »
    },
    ...
  ]
}
Obtenir des informations sur le projet :
OBTENIR L’URL DE LA DEMANDE :
https://api.tildacdn.info/v1/ getProjectInfo/?publickey=000000000000000000&secretkey=00000000000000000000&projectid=0
OBTENIR l'URL de la requête :
https://api.tildacdn.info/v1/getprojectinfo/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0
Réponse au format JSON :
{
  « status »: « TROUVÉ »,
  « résultat »: {
    « id »: « 0 »,
    « titre »: « Titre du projet »,
    « descr »: «  »,
    « customdomain »: « project.com »,
    « export_csspath »: «  »,
    « export_jspath »: «  »,
    « export_imgpath »: «  »,
    « indexpageid »: « 0 »,
    « customcsstext »: « y »,
    « favicon »: «  »,
    « page404id »: « 0 »,
    « images »: [
      {
        « de »: «  »,
        « à »: «  »
      }
      ...
    ]
  }
}
Pour obtenir un exemple du fichier de configuration de votre serveur Web, ajoutez le paramètre webconfig avec la valeur htaccess ou nginx à l’URL de la demande.

Si vous utilisez nginx, vous devez ajouter l’échantillon reçu dans la section serveur du fichier de configuration de votre serveur Web.
Obtenir la liste des pages du projet
OBTENIR L’URL DE LA DEMANDE :
https://api.tildacdn.info/v1/ getpageslist/?publickey=000000000000000000&secretkey=000000000000000000000&projectid=0
OBTENIR l'URL de la requête :
https://api.tildacdn.info/v1/getpageslist/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0
Réponse au format JSON :
{
  « status »: « TROUVÉ »,
  « résultat »: [
    {
      « id »: « 1001 »,
      « projectid »: « 0 »,
      « title »: « Titre de la page en premier »,
      « descr »: «  »,
      « img »: «  »,
      « featureimg »: «  »,
      « alias »: «  »,
      « date »: « 2014-05-16 14:45:53 »,
      « tri »: « 80 »,
      « publié »: « 1419702868 »,
      « nom de fichier »: « page1001.html »
    },
    {
      « id »: « 1002 »,
      « projectid »: « 0 »,
      « title »: « Titre de la page en second »,
      « descr »: «  »,
      « img »: «  »,
      « featureimg »: «  »,
      « alias »: «  »,
      « date »: « 2014-05-17 10:50:00 »,
      « tri »: « 90 »,
      « publié »: « 1419702277 »,
      « nom_fichier »: « page1002.html »
    },
    ...
  ]
}
Obtention des informations de la page
+ corps du code HTML
OBTENIR L’URL DE LA DEMANDE :
https://api.tildacdn.info/v1/ getpage/?publickey=000000000000000000&secretkey=0000000000000000000000&pageid=1001
OBTENIR l'URL de la requête :
https://api.tildacdn.info/v1/getpage/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Réponse au format JSON :
{
  « status »: « TROUVÉ »,
  « résultat »: {
    « id »: « 1001 »,
    « projectid »: « 0 »,
    « title »: « Titre de la page »,
    « descr »: «  »,
    « img »: «  »,
    « featureimg »: «  »,
    « alias »: «  »,
    « date »: « 2014-05-16 14:45:53 »,
    « tri »: « 80 »,
    « publié »: « 1419702868 »,
    « html »: « un code de page html »,
    « nom_fichier »: « page1001.html »,
    « js »: [
      ...
    ],
    « CSS »: [
      ...
    ]
  }
}
Obtention des informations de la page
+ code HTML complet
OBTENIR L’URL DE LA DEMANDE :
https://api.tildacdn.info/v1/ getPageFull/?PublicKey=000000000000000000&secretkey=00000000000000000000&pageid=1001
OBTENIR l'URL de la requête :
https://api.tildacdn.info/v1/getpagefull/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Réponse au format JSON :
{
  « status »: « TROUVÉ »,
  « résultat »: {
    « id »: « 1001 »,
    « projectid »: « 0 »,
    « title »: « Titre de la page »,
    « descr »: «  »,
    « img »: «  »,
    « featureimg »: «  »,
    « alias »: «  »,
    « date »: « 2014-05-16 14:45:53 »,
    « tri »: « 80 »,
    « publié »: « 1419702868 »,
    « html »: « un code de page html »,
    « nom de fichier »: « page1001.html »
  }
}
Obtention des informations de la page pour l’exportation
+ code HTML de la page du corps
OBTENIR L’URL DE LA DEMANDE :
https://api.tildacdn.info/v1/ getPageExport/?publickey=000000000000000000&secretkey=000000000000000000000&pageid=1001
OBTENIR l'URL de la requête :
https://api.tildacdn.info/v1/getpageexport/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Réponse au format JSON :
{
  « status »: « TROUVÉ »,
  « résultat »: {
    « id »: « 1001 »,
    « projectid »: « 0 »,
    « title »: « Titre de la page »,
    « descr »: «  »,
    « img »: «  »,
    « featureimg »: «  »,
    « alias »: «  »,
    « date »: « 2014-05-16 14:45:53 »,
    « tri »: « 80 »,
    « publié »: « 1419702868 »,
    « images »: [
      {
        « de »: «  »,
        « à »: «  »
      },
      {
        « de »: «  »,
        « à »: «  »
      },
      {
        « de »: «  »,
        « à »: «  »
      }
    ],
    « html »: « code html de la page du corps avec des liens locaux vers des fichiers »,
    « nom de fichier »: « page1001.html »
  }
}
Important: Nous vous recommandons de télécharger et de maintenir à jour les fichiers statiques de page (scripts et styles) chaque fois que vous utilisez cette demande. Ces fichiers changent constamment et vous ne pouvez pas vérifier si les fichiers sont mis à jour via l’API.
Obtention des informations de la page pour l’exportation
+ code HTML pleine page
OBTENIR L’URL DE LA DEMANDE :
https://api.tildacdn.info/v1/ getPageFullExport/?PublicKey=000000000000000000&secretkey=00000000000000000000&pageid=1001
OBTENIR l'URL de la requête :
https://api.tildacdn.info/v1/getpagefullexport/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Réponse au format JSON :
{
  « status »: « TROUVÉ »,
  « résultat »: {
    « id »: « 1001 »,
    « projectid »: « 0 »,
    « title »: « Titre de la page »,
    « descr »: «  »,
    « img »: «  »,
    « featureimg »: «  »,
    « alias »: «  »,
    « date »: « 2014-05-16 14:45:53 »,
    « tri »: « 80 »,
    « publié »: « 1419702868 »,
    « images »: [
      {
        « de »: «  »,
        « à »: «  »
      },
      {
        « de »: «  »,
        « à »: «  »
      },
      {
        « de »: «  »,
        « à »: «  »
      }
    ],
    « html »: « code html pleine page avec liens locaux vers des fichiers »,
    « nom de fichier »: « page1001.html »
  }
}
Important: Nous vous recommandons de télécharger et de maintenir à jour les fichiers statiques de page (scripts et styles) chaque fois que vous utilisez cette demande. Ces fichiers changent constamment et vous ne pouvez pas vérifier si les fichiers sont mis à jour via l’API.
Webhook (ou Callback)
La synchronisation peut être effectuée automatiquement. Pour ce faire, spécifiez l’URL du script où une demande avec notification sera envoyée chaque fois que vous cliquez sur le bouton « Publier ». De cette façon, vous pouvez mettre à jour le contenu, ainsi que d’ajouter de nouvelles pages sur votre serveur.

Vous pouvez spécifier le lien vers le webhook dans la section API de votre projet : Paramètres du site → Exporter → Intégration API :
La notification est envoyée à l’aide de la méthode GET .
Paramètres : pageid, projectid, published, publickey

Votre webhook doit confirmer que la demande a bien été reçue. La réponse attendue à la demande réussie est « ok »
(En PHP, il suffit d’échoyer « ok »;)

Si le serveur Tilda n’obtient pas la réponse attendue, il y aura 2 autres tentatives de répéter la requête à votre serveur (3 requêtes au total).

La demande peut être envoyée non pas en une seule fois, mais avec un délai de 1 à 20 minutes après la publication de la page. Par conséquent, si la demande n’est pas arrivée immédiatement, vous devez vérifier qu’elle n’est pas arrivée dans le délai spécifié.
Important: Le temps d’attente de réponse maximum de votre serveur est de 5 secondes. Si la réponse n’est pas reçue, la connexion est interrompue. C’est pourquoi vous devez enregistrer cette notification , puis effectuer la synchronisation, via cron, par exemple. Habituellement, si vous avez beaucoup d’images sur la page, ce temps ne suffit pas.

comment
Exemples de scénarios d'utilisation
Il existe deux scénarios courants pour l’utilisation de l’API Tilda : si vous avez besoin d’automatiser l’exportation et l’enregistrement de tous les fichiers de projet sur votre serveur, et si vous avez besoin d’intégrer des pages créées sur Tilda à vos modèles de site Web.
Comment exporter toutes les pages du projet
Notre objectif est de sauvegarder le projet publié dans notre compte Tilda sur notre serveur local.
  • Dans l'onglet Exporter des paramètres du site, spécifiez les chemins des images, des fichiers JS et des fichiers CSS, tels que /images, /js et /css ;
  • Rappelez-vous le projectid du projet dont vous avez besoin ;
  • Créez un script sur votre serveur : il enverra des requêtes à l’API, créera des fichiers et enregistrera des informations dans ces fichiers ;
  • Créez des dossiers sur le serveur vers lesquels vous copierez les fichiers (images, js, css).
  1. Obtenez des informations sur le projet dont vous avez besoin en envoyant la demande getprojectinfo .
  2. Parcourez en boucle le tableau d’images que vous avez reçu dans la réponse à la demande. Il contient une liste de fichiers. Vous pouvez trouver l’adresse source du fichier dans la variable from et le nom local que vous devez utiliser pour enregistrer le fichier dans la variable to . Copiez les fichiers où vous en avez besoin. Ces fichiers sont communs à toutes les pages du projet.
  3. Si vous avez ajouté le paramètre webconfig à la demande précédente, vous devez créer un fichier . HTAcdAc et remplissez-le avec la valeur de la variable Webconfig ou enregistrez cette valeur dans la section Serveur du fichier de configuration de votre serveur Web Nginx .
  4. Obtenez la liste de toutes les pages de notre projet en envoyant la demande getpageslist .
  5. Parcourez la liste de pages que vous avez reçue. Pour chaque page :
  • Obtenez les informations de page pour l’exportation en envoyant la demande getpagefullexport ;
  • Enregistrez les images, les scripts et les styles utilisés sur la page à partir des tableaux images, js et css sur le serveur ;
  • Créez un nouveau fichier d’échange (en utilisant le nom de la variable filename ) et remplissez-le avec la valeur de la variable html .

Si votre objectif est d’intégrer des pages de Tilda dans votre modèle (qui a déjà l’en-tête, le menu, le pied de page, etc.), suivez les mêmes étapes mais utilisez la commandegetpageexportdemander. Il renvoie le corps du code HTML que vous pouvez coller dans la zone de contenu de votre modèle. Veuillez noter que dans ce cas, vous devez ajouter manuellement des scripts et des styles dans le modèle.
Intégration sans copier les images et les fichiers JS/CSS

Si votre projet n’est pas lourdement chargé et que vous ne souhaitez pas enregistrer de fichiers statiques sur votre serveur, utilisez la requête getpage qui renvoie le corps du code HTML. Les images seront chargées à partir du serveur Tilda. L’essentiel est de ne pas oublier d’ajouter des fichiers JS et CSS à votre modèle. La liste de ces fichiers est retournée dans les variables js et css de la réponse à la requête.

Un exemple de requête simple utilisant PHP :
$result = file_get_contents('https://api.tildacdn.info/v1/getprojectinfo/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0');
$project = json_decode($result, vrai);
print_r($project);
Conformément aux conditions d'utilisation de Tilda, si vous utilisez la fonction d'exportation de l'API, vous devez fournir l'identifiant « Made on Tilda » avec un lien vers https://tilda.cc comme source sur chaque page exportée.
Fait sur
Tilda