Hoppa till innehåll
SilktideHjälp

Anslut ett anpassat CMS

Om Silktide inte har något plugin för ditt CMS kan dina utvecklare ansluta det själva. En anpassad anslutning gör samma två saker som de andra (se CMS-anslutningar):

  • Publicering: när en sida publiceras eller ändras meddelar ditt CMS Silktide, som testar den igen.
  • Redigering: varje sida har en metatagg som anger var den redigeras, så att Öppna i CMS i Silktide öppnar sidan i ditt CMS.

Du kan skapa antingen den ena delen eller båda.

1. Hämta din nyckel och API-adress

  1. Öppna Inställningar i Silktide, sedan Integrationer, och välj CMS.
  2. Välj Anpassat CMS, välj vad anslutningen ska gälla för och välj Anslut.
  3. Kopiera Nyckeln och API-adressen.

API-adressen beror på vilken region ditt konto tillhör, till exempel https://api.eu.silktide.com. Använd den som Silktide visar. I exemplen nedan ersätter du https://api.eu.silktide.com med den och nyckeln med din egen.

För att kontrollera att nyckeln fungerar skickar du den till /cms/test-key. Silktide svarar med 200 om nyckeln är giltig och 403 om den inte är det:

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

Din integration behöver inte anropa detta. Det finns där för testning.

2. Publicering: berätta för Silktide vad som ändrats

När en sida läggs till eller ändras skickar du en POST-begäran till /cms/update med en JSON-brödtext:

  • apiKey: din nyckel.
  • url: den offentliga adressen till sidan som ändrades, eller urls: en lista med adresser.
  • deferRetestSeconds (valfritt): hur många sekunder Silktide ska vänta innan testning, till exempel medan dina cachar töms.
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 svarar direkt och köar testet. Sidan testas vanligtvis igen inom en minut.

Silktide testar endast adresser som tillhör de webbplatser som anslutningen gäller för, inom respektive webbplats testomfång. Allt annat ignoreras.

3. Redigering: ange var varje sida redigeras

Lägg till en metatagg i <head> på varje sida som ditt CMS publicerar:

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

Dess content är ett JSON-objekt, Base64-kodat:

{"cms": "Your CMS name", "editorUrl": "https://cms.example.com/pages/123/edit"}
  • cms anger namnet på ditt CMS. Det är fritext.
  • editorUrl är adressen som någon besöker för att redigera den här sidan.

Silktide läser taggen varje gång sidan testas. Öppna i CMS öppnar editorUrl i en ny flik.

Base64 är enkelt att avkoda, så alla som visar sidan kan läsa editorUrl. Lägg aldrig något i den som loggar in någon, till exempel en token eller ett användarnamn. Om du inte vill visa dina redigeringsadresser alls kan du kryptera taggen.

Kryptera taggen (valfritt)

Kryptera JSON med AES-256-CBC och använd din nyckel som krypteringsnyckel. Base64-koda sedan, i denna ordning: initialiseringsvektorn, en SHA-256-HMAC av de krypterade bytena (också med din nyckel) och de krypterade bytena. I PHP:

$data = ['cms' => 'Your CMS name', '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 is the meta tag's content.

4. Testa den

  1. Distribuera dina ändringar. Om du lade till metataggen rensar du eventuella cachar så att de offentliga sidorna innehåller den.
  2. Testa webbplatsen igen i Silktide.
  3. Öppna en sida i Inspektören. Öppna i CMS ska visas och öppna sidan i ditt CMS.
  4. Publicera en sida i ditt CMS. Silktide ska börja testa den inom en minut.

Om något inte fungerar väljer du Kontakta supporten i Silktide.

Senast uppdaterad

Var den här sidan hjälpsam?