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
- W Silktide otwórz Ustawienia, następnie Integracje i wybierz CMS.
- Wybierz Niestandardowy CMS, określ, czego dotyczy połączenie, i wybierz Połącz.
- 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 luburls: 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"}
cmsto nazwa Twojego CMS. Może być dowolnym tekstem.editorUrlto 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
- Wdróż zmiany. Jeśli dodano znacznik meta, wyczyść pamięć podręczną, aby zawierały go publiczne strony.
- Przetestuj witrynę ponownie w Silktide.
- Otwórz stronę w Inspektorze. Powinna pojawić się opcja Otwórz w CMS, która powinna otworzyć tę stronę w Twoim CMS.
- 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ą.