API Tilda

Integrazione automatica del progetto Tilda con il proprio sito web
Tutte le richieste vengono inviate utilizzando il metodo GET e la risposta viene restituita in formato JSON.

La risposta vincente è:
{
  "status": "TROVATO",
  ...
}
La risposta di errore è:
{
  "status": "ERRORE",
  ...
}
C'è un limite al numero di richieste: 150 all'ora.
L'API viene utilizzata per sincronizzare i contenuti creati su Tilda con il tuo sito web. È vietato richiedere al server Tilda di recuperare i dati per ogni visita dell'utente al tuo sito web.

Tutto il contenuto deve essere salvato sul server (incluse immagini, script e stili) prima di poter essere distribuito agli utenti. Se crei carico inviando costantemente richieste ai server API Tilda, il tuo account potrebbe essere bloccato e la funzione API verrà disattivata.

Se l'algoritmo di sincronizzazione è ben organizzato, dovrebbero esserci 1-3 richieste, quindi 150 richieste al server all'ora sono più che sufficienti. Non dovrebbero esserci richieste dopo la sincronizzazione fino a quando non avrai modificato qualcosa nella pagina, in questo caso dovrai sincronizzare nuovamente le informazioni.
Come iniziare
Si prega di notare che la funzione API è disponibile solo per gli abbonati al piano Business Tilda. Per cominciare, è necessario ottenere una chiave pubblica e una chiave segreta. Puoi ottenerli nella sezione API su Tilda: Impostazioni del sito → Esporta → Integrazione API.
Elenco delle richieste
Elenco dei progetti
/v1/getprojectslist

Informazioni sul progetto
/v1/getprojectinfo

Elenco delle pagine del progetto
/v1/getpageslist

Informazioni sulla pagina (+ codice html del corpo)
/v1/getpage

Informazioni sulla pagina (+ codice html a pagina intera)
/v1/getpagefull

Informazioni sulla pagina per l'esportazione (+ codice html del corpo)
/v1/getpageexport

Informazioni complete sulla pagina per l'esportazione (+ codice html a pagina intera)
/v1/getpagefullexport
Gli URL per tutte le richieste: https://api.tildacdn.info
In ogni richiesta, è necessario inviare variabili: publickey e secretkey e, facoltativamente, a seconda della richiesta, projectid o pageid.
È possibile impostare i valori di percorso per immagini (export_imgpath), file JS (export_jspath) e file CSS (export_csspath) nella scheda Esporta di Impostazioni sito di ogni progetto.
Pertanto, è possibile specificare percorsi relativi o assoluti ai file che verranno archiviati sul server se si desidera creare copie esatte delle pagine sul server.
Ottenere l'elenco dei progetti
URL richiesta GET:
https://api.tildacdn.info/v1/ getprojectslist/?publickey=000000000000000000000&secretkey=00000000000000000000
OTTIENI URL richiesta:
https://api.tildacdn.info/v1/getprojectslist/?publickey=00000000000000000000&secretkey=00000000000000000000
Risposta in formato JSON:
{
  "status": "TROVATO",
  "risultato": [
    {
      "id": "0",
      "title": "Primo progetto",
      "descr": "Alcune informazioni"
    },
    {
      "id": "1",
      "title": "Secondo progetto",
      "descr": ""
    },
    ...
  ]
}
Ottenere informazioni sul progetto:
URL richiesta GET:
https://api.tildacdn.info/v1/ getprojectinfo/?publickey=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OTTIENI URL richiesta:
https://api.tildacdn.info/v1/getprojectinfo/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0
Risposta in formato JSON:
{
  "status": "TROVATO",
  "risultato": {
    "id": "0",
    "title": "Titolo del progetto",
    "descr": "",
    "customdomain": "project.com",
    "export_csspath": "",
    "export_jspath": "",
    "export_imgpath": "",
    "indexpageid": "0",
    "customcsstext": "y",
    "favicon": "",
    "page404id": "0",
    "immagini": [
      {
        "from": "",
        "to": ""
      }
      ...
    ]
  }
}
Per ottenere un esempio del file di configurazione del server Web, aggiungere il parametro webconfig con il valore htaccess o nginx all'URL della richiesta.

Se si utilizza nginx, è necessario aggiungere il campione ricevuto nella sezione server del file di configurazione del server Web.
Ottenere l'elenco delle pagine del progetto
URL richiesta GET:
https://api.tildacdn.info/v1/ getpageslist/?publickey=0000000000000000000000&secretkey=0000000000000000000000&projectid=0
OTTIENI URL richiesta:
https://api.tildacdn.info/v1/getpageslist/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0
Risposta in formato JSON:
{
  "status": "TROVATO",
  "risultato": [
    {
      "id": "1001",
      "projectid": "0",
      "title": "Prima il titolo della pagina",
      "descr": "",
      "img": "",
      "featureimg": "",
      "alias": "",
      "date": "2014-05-16 14:45:53",
      "sort": "80",
      "pubblicato": "1419702868",
      "filename": "page1001.html"
    },
    {
      "id": "1002",
      "projectid": "0",
      "title": "Titolo pagina seconda",
      "descr": "",
      "img": "",
      "featureimg": "",
      "alias": "",
      "date": "2014-05-17 10:50:00",
      "sort": "90",
      "pubblicato": "1419702277",
      "filename": "page1002.html"
    },
    ...
  ]
}
Ottenere le informazioni sulla pagina
+ codice HTML body
URL richiesta GET:
https://api.tildacdn.info/v1/ getpage/?publickey=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OTTIENI URL richiesta:
https://api.tildacdn.info/v1/getpage/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Risposta in formato JSON:
{
  "status": "TROVATO",
  "risultato": {
    "id": "1001",
    "projectid": "0",
    "title": "Titolo pagina",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "date": "2014-05-16 14:45:53",
    "sort": "80",
    "pubblicato": "1419702868",
    "html": "codice di pagina HTML",
    "filename": "page1001.html",
    "js": [
      ...
    ],
    "css": [
      ...
    ]
  }
}
Ottenere le informazioni sulla pagina
+ codice HTML completo
URL richiesta GET:
https://api.tildacdn.info/v1/ getpagefull/?publickey=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OTTIENI URL richiesta:
https://api.tildacdn.info/v1/getpagefull/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Risposta in formato JSON:
{
  "status": "TROVATO",
  "risultato": {
    "id": "1001",
    "projectid": "0",
    "title": "Titolo pagina",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "date": "2014-05-16 14:45:53",
    "sort": "80",
    "pubblicato": "1419702868",
    "html": "codice di pagina HTML",
    "filename": "page1001.html"
  }
}
Recupero delle informazioni sulla pagina per l'esportazione
+ codice HTML della pagina del corpo
URL richiesta GET:
https://api.tildacdn.info/v1/ getpageexport/?publickey=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OTTIENI URL richiesta:
https://api.tildacdn.info/v1/getpageexport/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Risposta in formato JSON:
{
  "status": "TROVATO",
  "risultato": {
    "id": "1001",
    "projectid": "0",
    "title": "Titolo pagina",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "date": "2014-05-16 14:45:53",
    "sort": "80",
    "pubblicato": "1419702868",
    "immagini": [
      {
        "from": "",
        "to": ""
      },
      {
        "from": "",
        "to": ""
      },
      {
        "from": "",
        "to": ""
      }
    ],
    "html": "codice html della pagina del corpo con collegamenti locali ai file",
    "filename": "page1001.html"
  }
}
Importante: Si consiglia di scaricare e mantenere aggiornati i file statici della pagina (script e stili) ogni volta che si utilizza questa richiesta. Questi file cambiano costantemente e non è possibile verificare se i file vengono aggiornati tramite l'API.
Recupero delle informazioni sulla pagina per l'esportazione
+ codice HTML a pagina intera
URL richiesta GET:
https://api.tildacdn.info/v1/ getpagefullexport/?publickey=0000000000000000000000&secretkey=0000000000000000000&pageid=1001
OTTIENI URL richiesta:
https://api.tildacdn.info/v1/getpagefullexport/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Risposta in formato JSON:
{
  "status": "TROVATO",
  "risultato": {
    "id": "1001",
    "projectid": "0",
    "title": "Titolo pagina",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "date": "2014-05-16 14:45:53",
    "sort": "80",
    "pubblicato": "1419702868",
    "immagini": [
      {
        "from": "",
        "to": ""
      },
      {
        "from": "",
        "to": ""
      },
      {
        "from": "",
        "to": ""
      }
    ],
    "html": "codice HTML a pagina intera con collegamenti locali ai file",
    "filename": "page1001.html"
  }
}
Importante: Si consiglia di scaricare e mantenere aggiornati i file statici della pagina (script e stili) ogni volta che si utilizza questa richiesta. Questi file cambiano costantemente e non è possibile verificare se i file vengono aggiornati tramite l'API.
Webhook (o richiamata)
La sincronizzazione può essere eseguita automaticamente. Per fare ciò, specificare l'URL dello script in cui verrà inviata una richiesta con notifica ogni volta che si fa clic sul pulsante "Pubblica". In questo modo è possibile aggiornare i contenuti e aggiungere nuove pagine sul server.

È possibile specificare il collegamento al webhook nella sezione API del progetto: Impostazioni sito → Esportazione → integrazione API:
La notifica viene inviata utilizzando il metodo GET .
Parametri: pageid, projectid, published, publickey

Il webhook deve confermare che la richiesta è stata ricevuta. La risposta prevista alla richiesta riuscita è "ok"
(In PHP basta fare eco a "ok";)

Se il server Tilda non ottiene la risposta prevista, ci saranno altri 2 tentativi di ripetere la richiesta al server (3 richieste in totale).

La richiesta può essere inviata non immediatamente, ma con un ritardo da 1 a 20 minuti dopo la pubblicazione della pagina. Quindi, se la richiesta non è arrivata subito, è necessario verificare che non sia arrivata entro il periodo di tempo specificato.
Importante: Il tempo massimo di attesa di risposta dal server è di 5 secondi. Se la risposta non viene ricevuta, la connessione viene interrotta. Ecco perché è necessario salvare questa notifica e quindi eseguire la sincronizzazione, ad esempio tramite cron. Di solito, se hai molte immagini sulla pagina, questa volta non è sufficiente.

come
Esempi di scenari di utilizzo
Esistono due scenari comuni per l'utilizzo dell'API Tilda: se è necessario automatizzare l'esportazione e il salvataggio di tutti i file di progetto sul server e se è necessario integrare le pagine create su Tilda con i modelli di siti Web.
Come esportare tutte le pagine nel progetto
Il nostro obiettivo è salvare il progetto pubblicato nel nostro account Tilda sul nostro server locale.
  • Nella scheda Esporta delle Impostazioni sito, specifica i percorsi per le immagini, i file JS e i file CSS, come /images, /js e /css;
  • Ricorda il projectid del progetto che ti serve;
  • Crea uno script sul tuo server: invierà richieste all'API, creerà file e salverà le informazioni in questi file;
  • Crea cartelle sul server in cui copierai i file (immagini, js, css).
  1. Ottieni informazioni sul progetto di cui hai bisogno inviando la richiesta getprojectinfo .
  2. Scorri la matrice di immagini che hai ricevuto nella risposta alla richiesta. C'è un elenco di file in esso. È possibile trovare l'indirizzo di origine del file nella variabile from e il nome locale che è necessario utilizzare per salvare il file nella variabile to . Copia i file dove necessario. Questi file sono comuni a tutte le pagine del progetto.
  3. Se è stato aggiunto il parametro webconfig alla richiesta precedente, è necessario creare un file . htaccess e riempirlo con il valore della variabile webconfig o salvare questo valore nella sezione server del file di configurazione del server web nginx .
  4. Ottieni l'elenco di tutte le pagine del nostro progetto inviando la richiesta getpageslist .
  5. Scorri l'elenco delle pagine che hai ricevuto. Per ogni pagina:
  • Ottenere le informazioni sulla pagina per l'esportazione inviando la richiesta getpagefullexport ;
  • Salvare immagini, script e stili utilizzati nella pagina dagli array di immagini, js e css al server;
  • Creare un nuovo file di paging (utilizzando il nome della variabile filename ) e riempirlo con il valore della variabile html .

Se il tuo obiettivo è integrare le pagine di Tilda nel tuo modello (che ha già l'intestazione, il menu, il piè di pagina, ecc.), segui gli stessi passaggi ma usa il comandogetpageexportrichiesta. Restituisce il codice HTML del corpo che puoi incollare nell'area del contenuto del modello. Si noti che in questo caso è necessario aggiungere manualmente script e stili nel modello.
Integrazione senza copiare immagini e file JS/CSS

Se il progetto non è caricato in modo eccessivo e non si desidera salvare file statici sul server, utilizzare la richiesta getpage che restituisce il codice HTML del corpo. Le immagini verranno caricate dal server Tilda. La cosa principale è ricordarsi di aggiungere file JS e CSS al modello. L'elenco di questi file viene restituito nelle variabili js e css della risposta alla richiesta.

Un esempio di una semplice richiesta utilizzando PHP:
$result = file_get_contents('https://api.tildacdn.info/v1/getprojectinfo/?publickey=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$project = json_decode($result, vero);
print_r, paragrafo $project;
In conformità con i Termini di servizio di Tilda, se utilizzi la funzione di esportazione dell'API, devi fornire l'identificatore "Made on Tilda" con un collegamento a https://tilda.cc come fonte su ogni pagina esportata.
Fatto su
Tilda