Vai al contenuto
SilktideAiuto

Connettere un CMS personalizzato

Se Silktide non dispone di un plugin per il tuo CMS, i tuoi sviluppatori possono connetterlo autonomamente. Una connessione personalizzata svolge le stesse due funzioni delle altre (vedi connessioni CMS):

  • Pubblicazione: quando una pagina viene pubblicata o modificata, il tuo CMS avvisa Silktide, che la sottopone nuovamente a test.
  • Modifica: ogni pagina contiene un meta tag che indica dove viene modificata, così Apri nel CMS in Silktide apre quella pagina nel tuo CMS.

Puoi implementare una delle due parti oppure entrambe.

1. Ottieni la chiave e l'indirizzo API

  1. In Silktide, apri Impostazioni, poi Integrazioni e scegli CMS.
  2. Scegli CMS personalizzato, seleziona a cosa si applica la connessione e scegli Connetti.
  3. Copia la Chiave e l'indirizzo API.

L'indirizzo API dipende dalla regione in cui si trova il tuo account, ad esempio https://api.eu.silktide.com. Utilizza quello mostrato da Silktide. Negli esempi seguenti, sostituisci https://api.eu.silktide.com con il tuo indirizzo e la chiave con la tua.

Per verificare che la chiave funzioni, inviala a /cms/test-key. Silktide risponde con 200 se la chiave è valida e con 403 se non lo è:

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

La tua integrazione non deve chiamare questo endpoint. È disponibile a scopo di test.

2. Pubblicazione: comunica a Silktide cosa è cambiato

Quando una pagina viene aggiunta o modificata, invia una richiesta POST a /cms/update con un corpo JSON:

  • apiKey: la tua chiave.
  • url: l'indirizzo pubblico della pagina modificata oppure urls: un elenco di indirizzi.
  • deferRetestSeconds (facoltativo): il numero di secondi che Silktide deve attendere prima del test, ad esempio mentre le cache vengono svuotate.
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 risponde immediatamente e mette il test in coda. Di solito la pagina viene sottoposta nuovamente a test entro un minuto.

Silktide testa solo gli indirizzi che appartengono ai siti web a cui si applica la connessione, nell'ambito di test di ciascun sito web. Tutto il resto viene ignorato.

3. Modifica: indica dove viene modificata ogni pagina

Aggiungi un meta tag al <head> di ogni pagina pubblicata dal tuo CMS:

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

Il relativo content è un oggetto JSON con codifica Base64:

{"cms": "Nome del tuo CMS", "editorUrl": "https://cms.example.com/pages/123/edit"}
  • cms indica il nome del tuo CMS. È testo libero.
  • editorUrl è l'indirizzo che una persona visita per modificare questa pagina.

Silktide legge il tag ogni volta che testa la pagina. Apri nel CMS apre editorUrl in una nuova scheda.

Base64 è facile da decodificare, quindi chiunque visualizzi la pagina può leggere editorUrl. Non inserirvi mai nulla che consenta l'accesso a qualcuno, ad esempio un token o un nome utente. Se preferisci non mostrare affatto gli indirizzi dell'editor, cifra il tag.

Cifrare il tag (facoltativo)

Cifra il JSON con AES-256-CBC, utilizzando la tua chiave come chiave di crittografia. Quindi applica la codifica Base64, in questo ordine: il vettore di inizializzazione, un HMAC SHA-256 dei byte cifrati (utilizzando anch'esso la tua chiave) e i byte cifrati. In PHP:

$data = ['cms' => 'Nome del tuo 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 è il contenuto del meta tag.

4. Provalo

  1. Distribuisci le modifiche. Se hai aggiunto il meta tag, svuota tutte le cache affinché le pagine pubbliche lo includano.
  2. Sottoponi nuovamente a test il sito web in Silktide.
  3. Apri una pagina nell'Ispettore. Dovrebbe apparire Apri nel CMS, che dovrebbe aprire quella pagina nel tuo CMS.
  4. Pubblica una pagina nel tuo CMS. Silktide dovrebbe iniziare a testarla entro un minuto.

Se qualcosa non funziona, scegli Contatta l'assistenza in Silktide.

Ultimo aggiornamento

Questa pagina è stata utile?