API de Tilda

Integración automática del proyecto Tilda con su propio sitio web
Todas las solicitudes se envían mediante el método GET y la respuesta se devuelve en formato JSON.

La respuesta exitosa es:
{
  "status": "ENCONTRADO",
  ...
}
La respuesta de error es:
{
  "status": "ERROR",
  ...
}
Hay un límite en el número de solicitudes: 150 por hora.
La API se utiliza para sincronizar el contenido creado en Tilda con su sitio web. Está prohibido solicitar al servidor Tilda que recupere datos para cada visita de usuario a su sitio web.

Todo el contenido debe guardarse en el servidor (incluidas las imágenes, los scripts y los estilos) antes de que se pueda distribuir a los usuarios. Si crea carga enviando constantemente solicitudes a los servidores de la API de Tilda, su cuenta puede bloquearse y la función de la API se desactivará.

Si el algoritmo de sincronización está bien organizado, debería haber de 1 a 3 solicitudes, por lo tanto, 150 solicitudes al servidor por hora son más que suficientes. No debería haber solicitudes después de la sincronización hasta que haya cambiado algo en la página, en este caso, tendrá que sincronizar la información nuevamente.
Cómo empezar
Tenga en cuenta que la función API solo está disponible para los suscriptores del Plan de negocios de Tilda. Para empezar, debe obtener una clave pública y una clave secreta. Puede obtenerlos en la sección API en Tilda: Configuración del sitio → Exportar → integración de API.
Lista de solicitudes
Lista de proyectos
/v1/getprojectslist

Información del proyecto
/v1/getprojectinfo

Lista de páginas del proyecto
/v1/getpageslist

Información de la página (+ código html del cuerpo)
/v1/getpage

Información de la página (+ código html de página completa)
/v1/getpagefull

Información de la página para exportar (+ código html del cuerpo)
/v1/getpageexport

Información completa de la página para exportar (+ código html de página completa)
/v1/getpagefullexport
Las direcciones URL de todas las solicitudes: https://api.tildacdn.info
En cada solicitud, debe enviar variables: publickey y secretkey, y opcionalmente, dependiendo de la solicitud, projectid o pageid.
Puede establecer los valores de ruta para imágenes (export_imgpath), archivos JS (export_jspath) y archivos CSS (export_csspath) en la pestaña Exportar de Configuración del sitio de cada proyecto.
Por lo tanto, puede especificar rutas relativas o absolutas a los archivos que se almacenarán en el servidor si desea crear copias exactas de las páginas en el servidor.
Obtener la lista de proyectos
URL de solicitud GET:
https://api.tildacdn.info/v1/ getProjectsList/?publickey=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OBTENER URL de solicitud:
https://api.tildacdn.info/v1/getprojectslist/?publickey=00000000000000000000&secretkey=00000000000000000000
Respuesta en formato JSON:
{
  "status": "ENCONTRADO",
  "resultado": [
    {
      "id": "0",
      "title": "Primer proyecto",
      "descr": "Alguna información"
    },
    {
      "id": "1",
      "title": "Segundo proyecto",
      "descr": ""
    },
    ...
  ]
}
Obtener información del proyecto:
URL de solicitud GET:
https://api.tildacdn.info/v1/ getprojectinfo/?publickey=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OBTENER URL de solicitud:
https://api.tildacdn.info/v1/getprojectinfo/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0
Respuesta en formato JSON:
{
  "status": "ENCONTRADO",
  "resultado": {
    "id": "0",
    "title": "Título del proyecto",
    "descr": "",
    "customdomain": "project.com",
    "export_csspath": "",
    "export_jspath": "",
    "export_imgpath": "",
    "indexpageid": "0",
    "customcsstext": "y",
    "favicon": "",
    "page404id": "0",
    "imágenes": [
      {
        "de": "",
        "a": ""
      }
      ...
    ]
  }
}
Para obtener una muestra del archivo de configuración de su servidor web, agregue el parámetro webconfig con el valor htaccess o nginx a la URL de solicitud.

Si utiliza nginx, debe agregar la muestra recibida en la sección del servidor del archivo de configuración de su servidor web.
Obtener la lista de páginas de proyectos
URL de solicitud GET:
https://api.tildacdn.info/v1/ getPagesList/?publickey=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OBTENER URL de solicitud:
https://api.tildacdn.info/v1/getpageslist/?publickey=00000000000000000000&secretkey=00000000000000000000&projectid=0
Respuesta en formato JSON:
{
  "status": "ENCONTRADO",
  "resultado": [
    {
      "id": "1001",
      "proyectid": "0",
      "title": "Título de la página primero",
      "descr": "",
      "img": "",
      "featureimg": "",
      "alias": "",
      "Fecha": "2014-05-16 14:45:53",
      "sort": "80",
      "publicado": "1419702868",
      "filename": "page1001.html"
    },
    {
      "id": "1002",
      "proyectid": "0",
      "title": "Título de la página segundo",
      "descr": "",
      "img": "",
      "featureimg": "",
      "alias": "",
      "Fecha": "2014-05-17 10:50:00",
      "sort": "90",
      "publicado": "1419702277",
      "filename": "page1002.html"
    },
    ...
  ]
}
Obtener la información de la página
+ código HTML del cuerpo
URL de solicitud GET:
https://api.tildacdn.info/v1/ getpage/?publickey=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OBTENER URL de solicitud:
https://api.tildacdn.info/v1/getpage/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Respuesta en formato JSON:
{
  "status": "ENCONTRADO",
  "resultado": {
    "id": "1001",
    "proyectid": "0",
    "title": "Título de la página",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "Fecha": "2014-05-16 14:45:53",
    "sort": "80",
    "publicado": "1419702868",
    "html": "algún código de página html",
    "filename": "page1001.html",
    "js": [
      ...
    ],
    "CSS": [
      ...
    ]
  }
}
Obtener la información de la página
+ código HTML completo
URL de solicitud GET:
https://api.tildacdn.info/v1/ getpagefull/?publickey=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OBTENER URL de solicitud:
https://api.tildacdn.info/v1/getpagefull/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Respuesta en formato JSON:
{
  "status": "ENCONTRADO",
  "resultado": {
    "id": "1001",
    "proyectid": "0",
    "title": "Título de la página",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "Fecha": "2014-05-16 14:45:53",
    "sort": "80",
    "publicado": "1419702868",
    "html": "algún código de página html",
    "filename": "page1001.html"
  }
}
Obtención de la información de la página para exportar
+ código HTML de la página del cuerpo
URL de solicitud GET:
https://api.tildacdn.info/v1/ getpageexport/?publickey=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OBTENER URL de solicitud:
https://api.tildacdn.info/v1/getpageexport/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Respuesta en formato JSON:
{
  "status": "ENCONTRADO",
  "resultado": {
    "id": "1001",
    "proyectid": "0",
    "title": "Título de la página",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "Fecha": "2014-05-16 14:45:53",
    "sort": "80",
    "publicado": "1419702868",
    "imágenes": [
      {
        "de": "",
        "a": ""
      },
      {
        "de": "",
        "a": ""
      },
      {
        "de": "",
        "a": ""
      }
    ],
    "html": "código HTML de la página del cuerpo con enlaces locales a archivos",
    "filename": "page1001.html"
  }
}
Importante: Le recomendamos que descargue y mantenga actualizados los archivos estáticos de página (scripts y estilos) cada vez que utilice esta solicitud. Estos archivos cambian constantemente y no puede verificar si los archivos se actualizan a través de la API.
Obtención de la información de la página para exportar
+ código HTML de página completa
URL de solicitud GET:
https://api.tildacdn.info/v1/ getpagefullexport/?publickey=0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
OBTENER URL de solicitud:
https://api.tildacdn.info/v1/getpagefullexport/?publickey=00000000000000000000&secretkey=00000000000000000000&pageid=1001
Respuesta en formato JSON:
{
  "status": "ENCONTRADO",
  "resultado": {
    "id": "1001",
    "proyectid": "0",
    "title": "Título de la página",
    "descr": "",
    "img": "",
    "featureimg": "",
    "alias": "",
    "Fecha": "2014-05-16 14:45:53",
    "sort": "80",
    "publicado": "1419702868",
    "imágenes": [
      {
        "de": "",
        "a": ""
      },
      {
        "de": "",
        "a": ""
      },
      {
        "de": "",
        "a": ""
      }
    ],
    "html": "código HTML de página completa con enlaces locales a archivos",
    "filename": "page1001.html"
  }
}
Importante: Le recomendamos que descargue y mantenga actualizados los archivos estáticos de página (scripts y estilos) cada vez que utilice esta solicitud. Estos archivos cambian constantemente y no puede verificar si los archivos se actualizan a través de la API.
Webhook (o devolución de llamada)
La sincronización se puede realizar automáticamente. Para hacer esto, especifique la URL del script donde se enviará una solicitud con notificación cada vez que haga clic en el botón "Publicar". De esta manera, puede actualizar el contenido, así como agregar nuevas páginas en su servidor.

Puedes especificar el enlace al webhook en la sección API de tu proyecto: Configuración del sitio → Exportar → integración de API:
La notificación se envía mediante el método GET .
Parámetros: pageid, projectid, published, publickey

El webhook debe confirmar que se ha recibido la solicitud. La respuesta esperada a la solicitud correcta es "ok"
(En PHP simplemente haga eco de "ok";)

Si el servidor Tilda no obtiene la respuesta esperada, habrá 2 intentos más para repetir la solicitud a su servidor (3 solicitudes en total).

La solicitud se puede enviar no de una vez, sino con un retraso de 1 a 20 minutos después de publicar la página. Por lo tanto, si la solicitud no llegó de inmediato, debe verificar que no haya llegado dentro del período de tiempo especificado.
Importante: El tiempo máximo de espera de respuesta del servidor es de 5 segundos. Si no se recibe la respuesta, se interrumpe la conexión. Es por eso que debe guardar esta notificación y luego realizar la sincronización, por ejemplo, a través de cron. Por lo general, si tiene muchas imágenes en la página, esta vez no es suficiente.

cómo
Ejemplos de escenarios de uso
Hay dos escenarios comunes para usar la API de Tilda: si necesita automatizar la exportación y el almacenamiento de todos los archivos del proyecto en su servidor, y si necesita integrar páginas creadas en Tilda con las plantillas de su sitio web.
Cómo exportar todas las páginas del proyecto
Nuestro objetivo es guardar el proyecto publicado en nuestra cuenta de Tilda en nuestro servidor local.
  • En la pestaña Exportar de la Configuración del sitio, especifique las rutas para imágenes, archivos JS y archivos CSS, como /images, /js y /css;
  • Recuerda el projectid del proyecto que necesitas;
  • Cree un script en su servidor: enviará solicitudes a la API, creará archivos y guardará información en estos archivos;
  • Cree carpetas en el servidor en las que copiará los archivos (imágenes, js, css).
  1. Obtenga información sobre el proyecto que necesita enviando la solicitud getprojectinfo .
  2. Recorra la matriz de imágenes que ha recibido en la respuesta a la solicitud. Hay una lista de archivos en él. Puede encontrar la dirección de origen del archivo en la variable from y el nombre local que necesita usar para guardar el archivo en la variable to . Copie los archivos donde lo necesite. Estos archivos son comunes para todas las páginas del proyecto.
  3. Si ha agregado el parámetro webconfig a la solicitud anterior, debe crear un archivo . htaccess y rellénelo con el valor de la variable webconfig o guarde este valor en la sección servidor del archivo de configuración de su servidor web nginx .
  4. Obtenga la lista de todas las páginas de nuestro proyecto enviando la solicitud getpageslist .
  5. Recorre la lista de páginas que has recibido. Para cada página:
  • Obtenga la información de la página para exportar enviando la solicitud getpagefullexport;
  • Guarde las imágenes, scripts y estilos utilizados en la página desde las matrices images, js y css en el servidor;
  • Cree un nuevo archivo de página (utilizando el nombre de la variable filename ) y rellénelo con el valor de la variable html .

Si su objetivo es integrar páginas de Tilda en su plantilla (que ya tiene el encabezado, menú, pie de página, etc.), siga los mismos pasos pero use el botónobtenerexportación de páginasolicitud. Devuelve el código HTML del cuerpo que puede pegar en el área de contenido de su plantilla. Tenga en cuenta que, en este caso, debe agregar scripts y estilos en la plantilla manualmente.
Integración sin copiar imágenes y archivos JS/CSS

Si el proyecto no está muy cargado y no desea guardar archivos estáticos en el servidor, use la solicitud getpage que devuelve el código HTML del cuerpo. Las imágenes se cargarán desde el servidor Tilda. Lo principal es recordar agregar archivos JS y CSS a su plantilla. La lista de estos archivos se devuelve en las variables js y css de la respuesta a la solicitud.

Un ejemplo de una solicitud simple usando PHP:
$result = file_get_contents('https://api.tildacdn.info/v1/getprojectinfo/?publickey=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
$project = json_decode($result, verdadero);
print_r $project);
De acuerdo con el Acuerdo de Términos de Servicio de Tilda, si utiliza la función de exportación API, debe proporcionar el identificador "Hecho en Tilda" con un enlace a https://tilda.cc como fuente en cada página exportada.
Hecho en
Tilda