Przejdź do treści
SilktidePomoc

Połącz niestandardowy CMS

Jeśli Silktide nie ma wtyczki dla Twojego CMS, Twoi programiści mogą połączyć go samodzielnie. Niestandardowe połączenie realizuje te same dwie funkcje co pozostałe (zobacz połączenia CMS):

  • Publikowanie: gdy strona zostanie opublikowana lub zmieniona, Twój CMS informuje o tym Silktide, który testuje ją ponownie.
  • Edycja: każda strona zawiera znacznik meta wskazujący, gdzie jest edytowana, dzięki czemu opcja Otwórz w CMS w Silktide otwiera tę stronę w Twoim CMS.

Możesz wdrożyć jedną z tych funkcji albo obie.

1. Pobierz klucz i adres API

  1. W Silktide otwórz Ustawienia, następnie Integracje i wybierz CMS.
  2. Wybierz Niestandardowy CMS, określ, czego dotyczy połączenie, i wybierz Połącz.
  3. Skopiuj Klucz i adres API.

Adres API zależy od regionu, w którym znajduje się Twoje konto, na przykład https://api.eu.silktide.com. Użyj adresu wyświetlanego przez Silktide. W poniższych przykładach zastąp nim https://api.eu.silktide.com, a klucz — swoim kluczem.

Aby sprawdzić, czy klucz działa, wyślij go do /cms/test-key. Silktide zwraca 200, jeśli klucz jest prawidłowy, oraz 403, jeśli nie jest:

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

Twoja integracja nie musi wywoływać tego endpointu. Służy on do testowania.

2. Publikowanie: poinformuj Silktide o zmianach

Gdy strona zostanie dodana lub zmieniona, wyślij żądanie POST do /cms/update z treścią JSON:

  • apiKey: Twój klucz.
  • url: publiczny adres zmienionej strony lub urls: lista adresów.
  • deferRetestSeconds (opcjonalnie): liczba sekund, przez które Silktide powinien czekać przed testowaniem, na przykład podczas czyszczenia pamięci podręcznej.
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 odpowiada od razu i umieszcza test w kolejce. Strona jest zwykle testowana ponownie w ciągu minuty.

Silktide testuje tylko adresy należące do witryn, których dotyczy połączenie, w zakresie testowania każdej witryny. Wszystko inne jest ignorowane.

3. Edycja: wskaż, gdzie edytowana jest każda strona

Dodaj znacznik meta do <head> każdej strony publikowanej przez Twój CMS:

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

Jego content to obiekt JSON zakodowany w Base64:

{"cms": "Your CMS name", "editorUrl": "https://cms.example.com/pages/123/edit"}
  • cms to nazwa Twojego CMS. Może być dowolnym tekstem.
  • editorUrl to adres, pod który należy wejść, aby edytować tę stronę.

Silktide odczytuje znacznik przy każdym testowaniu strony. Opcja Otwórz w CMS otwiera editorUrl w nowej karcie.

Base64 można łatwo zdekodować, więc każda osoba wyświetlająca stronę może odczytać editorUrl. Nigdy nie umieszczaj w nim niczego, co umożliwia zalogowanie, na przykład tokenu lub nazwy użytkownika. Jeśli w ogóle nie chcesz ujawniać adresów edytora, zaszyfruj znacznik.

Zaszyfruj znacznik (opcjonalnie)

Zaszyfruj kod JSON za pomocą AES-256-CBC, używając swojego klucza jako klucza szyfrowania. Następnie zakoduj w Base64, w następującej kolejności: wektor inicjalizacji, HMAC SHA-256 zaszyfrowanych bajtów (również z użyciem Twojego klucza) oraz zaszyfrowane bajty. W 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. Przetestuj

  1. Wdróż zmiany. Jeśli dodano znacznik meta, wyczyść pamięć podręczną, aby zawierały go publiczne strony.
  2. Przetestuj witrynę ponownie w Silktide.
  3. Otwórz stronę w Inspektorze. Powinna pojawić się opcja Otwórz w CMS, która powinna otworzyć tę stronę w Twoim CMS.
  4. Opublikuj stronę w swoim CMS. Silktide powinien rozpocząć jej testowanie w ciągu minuty.

Jeśli coś nie działa, wybierz w Silktide opcję Skontaktuj się z pomocą techniczną.

Ostatnio zaktualizowano

Czy ta strona była pomocna?