Zum Inhalt springen
SilktideHilfe

Benutzerdefiniertes CMS verbinden

Wenn Silktide kein Plugin für Ihr CMS hat, können Ihre Entwickler es selbst verbinden. Eine benutzerdefinierte Verbindung erfüllt dieselben zwei Aufgaben wie die anderen (siehe CMS-Verbindungen):

  • Veröffentlichen: Wenn eine Seite veröffentlicht oder geändert wird, benachrichtigt Ihr CMS Silktide, das sie erneut testet.
  • Bearbeiten: Jede Seite enthält ein Meta-Tag, das angibt, wo sie bearbeitet wird, sodass In CMS öffnen in Silktide diese Seite in Ihrem CMS öffnet.

Sie können einen der beiden Teile oder beide implementieren.

1. Schlüssel und API-Adresse abrufen

  1. Öffnen Sie in Silktide Einstellungen, dann Integrationen, und wählen Sie CMS.
  2. Wählen Sie Benutzerdefiniertes CMS, wählen Sie aus, worauf die Verbindung angewendet wird, und wählen Sie Verbinden.
  3. Kopieren Sie den Schlüssel und die API-Adresse.

Die API-Adresse hängt von der Region ab, in der sich Ihr Konto befindet, zum Beispiel https://api.eu.silktide.com. Verwenden Sie die Adresse, die Silktide anzeigt. Ersetzen Sie in den folgenden Beispielen https://api.eu.silktide.com durch diese Adresse und den Schlüssel durch Ihren eigenen.

Um zu prüfen, ob der Schlüssel funktioniert, senden Sie ihn an /cms/test-key. Silktide antwortet mit 200, wenn der Schlüssel gültig ist, und mit 403, wenn er es nicht ist:

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

Ihre Integration muss dies nicht aufrufen. Es dient nur zum Testen.

2. Veröffentlichen: Silktide mitteilen, was sich geändert hat

Wenn eine Seite hinzugefügt oder geändert wird, senden Sie eine POST-Anfrage mit einem JSON-Textkörper an /cms/update:

  • apiKey: Ihr Schlüssel.
  • url: die öffentliche Adresse der geänderten Seite oder urls: eine Liste von Adressen.
  • deferRetestSeconds (optional): die Anzahl der Sekunden, die Silktide vor dem Testen warten soll, beispielsweise während Ihre Caches geleert werden.
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 antwortet sofort und reiht den Test in die Warteschlange ein. Die Seite wird in der Regel innerhalb einer Minute erneut getestet.

Silktide testet nur Adressen, die zu den Websites gehören, für die die Verbindung gilt, und die innerhalb des Testumfangs jeder Website liegen. Alles andere wird ignoriert.

3. Bearbeiten: Angeben, wo jede Seite bearbeitet wird

Fügen Sie dem <head> jeder Seite, die Ihr CMS veröffentlicht, ein Meta-Tag hinzu:

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

Sein content ist ein Base64-codiertes JSON-Objekt:

{"cms": "Name Ihres CMS", "editorUrl": "https://cms.example.com/pages/123/edit"}
  • cms benennt Ihr CMS. Es ist Freitext.
  • editorUrl ist die Adresse, die jemand aufruft, um diese Seite zu bearbeiten.

Silktide liest das Tag jedes Mal, wenn die Seite getestet wird. In CMS öffnen öffnet editorUrl in einem neuen Tab.

Base64 lässt sich leicht decodieren. Daher kann jeder, der die Seite betrachtet, editorUrl lesen. Fügen Sie niemals etwas ein, das jemanden anmeldet, beispielsweise ein Token oder einen Benutzernamen. Wenn Sie Ihre Editor-Adressen überhaupt nicht anzeigen möchten, verschlüsseln Sie das Tag.

Tag verschlüsseln (optional)

Verschlüsseln Sie das JSON mit AES-256-CBC und verwenden Sie Ihren Schlüssel als Verschlüsselungsschlüssel. Codieren Sie anschließend in dieser Reihenfolge mit Base64: den Initialisierungsvektor, einen SHA-256-HMAC der verschlüsselten Bytes (ebenfalls mit Ihrem Schlüssel) und die verschlüsselten Bytes. In PHP:

$data = ['cms' => 'Name Ihres 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 ist der Inhalt des Meta-Tags.

4. Testen

  1. Stellen Sie Ihre Änderungen bereit. Wenn Sie das Meta-Tag hinzugefügt haben, leeren Sie alle Caches, damit die öffentlichen Seiten es enthalten.
  2. Testen Sie die Website erneut in Silktide.
  3. Öffnen Sie eine Seite im Inspector. In CMS öffnen sollte angezeigt werden und diese Seite in Ihrem CMS öffnen.
  4. Veröffentlichen Sie eine Seite in Ihrem CMS. Silktide sollte innerhalb einer Minute mit dem Testen beginnen.

Wenn etwas nicht funktioniert, wählen Sie in Silktide Support kontaktieren.

Zuletzt aktualisiert

War diese Seite hilfreich?