Saltar al contenido
SilktideAyuda

Conectar un CMS personalizado

Si Silktide no tiene un plugin para su CMS, sus desarrolladores pueden conectarlo ellos mismos. Una conexión personalizada hace las mismas dos cosas que las demás (consulte Conexiones de CMS):

  • Publicación: cuando se publica o cambia una página, su CMS informa a Silktide, que la vuelve a probar.
  • Edición: cada página incluye una etiqueta meta que indica dónde se edita, de modo que Abrir en CMS en Silktide abre esa página en su CMS.

Puede implementar una de las partes o ambas.

1. Obtenga su clave y la dirección de la API

  1. En Silktide, abra Configuración, después Integraciones y elija CMS.
  2. Elija CMS personalizado, seleccione a qué se aplica la conexión y elija Conectar.
  3. Copie la Clave y la dirección de la API.

La dirección de la API depende de la región en la que esté su cuenta, por ejemplo, https://api.eu.silktide.com. Utilice la que muestre Silktide. En los ejemplos siguientes, sustituya https://api.eu.silktide.com por ella y la clave por la suya.

Para comprobar que la clave funciona, envíela a /cms/test-key. Silktide responde con 200 si la clave es válida y con 403 si no lo es:

curl --request POST \
  --header "Content-Type: application/json" \
  --data '{"apiKey": "eu:your-key"}' \
  https://api.eu.silktide.com/cms/test-key

Su integración no necesita llamar a esto. Está ahí para realizar pruebas.

2. Publicación: informe a Silktide de lo que ha cambiado

Cuando se añade o cambia una página, envíe una solicitud POST a /cms/update con un cuerpo JSON:

  • apiKey: su clave.
  • url: la dirección pública de la página que ha cambiado, o urls: una lista de direcciones.
  • deferRetestSeconds (opcional): cuántos segundos debe esperar Silktide antes de realizar la prueba, por ejemplo, mientras se vacían sus cachés.
curl --request POST \
  --header "Content-Type: application/json" \
  --data '{"apiKey": "eu:your-key", "url": "https://www.example.com/news/open-day"}' \
  https://api.eu.silktide.com/cms/update

Silktide responde de inmediato y pone la prueba en cola. La página normalmente se vuelve a probar en menos de un minuto.

Silktide solo prueba direcciones que pertenecen a los sitios web a los que se aplica la conexión, dentro del alcance de las pruebas de cada sitio web. Todo lo demás se ignora.

3. Edición: indique dónde se edita cada página

Añada una etiqueta meta al <head> de cada página que publique su CMS:

<meta name="silktide-cms" content="...">

Su content es un objeto JSON codificado en Base64:

{"cms": "Nombre de su CMS", "editorUrl": "https://cms.example.com/pages/123/edit"}
  • cms indica el nombre de su CMS. Es texto libre.
  • editorUrl es la dirección que visita una persona para editar esta página.

Silktide lee la etiqueta cada vez que prueba la página. Abrir en CMS abre editorUrl en una pestaña nueva.

Base64 es fácil de descodificar, por lo que cualquiera que vea la página puede leer editorUrl. No incluya nunca nada que permita iniciar sesión, como un token o un nombre de usuario. Si prefiere no mostrar en absoluto las direcciones de su editor, cifre la etiqueta.

Cifrar la etiqueta (opcional)

Cifre el JSON con AES-256-CBC, utilizando su clave como clave de cifrado. A continuación, codifique en Base64, en este orden: el vector de inicialización, un HMAC SHA-256 de los bytes cifrados (también utilizando su clave) y los bytes cifrados. En PHP:

$data = ['cms' => 'Nombre de su CMS', 'editorUrl' => 'https://cms.example.com/pages/123/edit'];
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('AES-256-CBC'));
$encrypted = openssl_encrypt(json_encode($data), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
$hmac = hash_hmac('sha256', $encrypted, $key, true);
$content = base64_encode($iv . $hmac . $encrypted);
// $content es el contenido de la etiqueta meta.

4. Pruébelo

  1. Implemente los cambios. Si añadió la etiqueta meta, vacíe las cachés para que las páginas públicas la incluyan.
  2. Vuelva a probar el sitio web en Silktide.
  3. Abra una página en el Inspector. Debería aparecer Abrir en CMS y abrir esa página en su CMS.
  4. Publique una página en su CMS. Silktide debería empezar a probarla en menos de un minuto.

Si algo no funciona, elija Contactar con asistencia en Silktide.

Última actualización

¿Le ha resultado útil esta página?