Ligar um CMS personalizado
Se a Silktide não tiver um plugin para o seu CMS, os seus programadores podem ligá-lo eles próprios. Uma ligação personalizada faz as mesmas duas coisas que as outras (consulte ligações CMS):
- Publicação: quando uma página é publicada ou alterada, o seu CMS informa a Silktide, que volta a testá-la.
- Edição: cada página inclui uma meta tag que indica onde é editada, para que Abrir no CMS na Silktide abra essa página no seu CMS.
Pode criar uma das partes ou ambas.
1. Obtenha a sua chave e o endereço da API
- Na Silktide, abra Configurações, depois Integrações e escolha CMS.
- Escolha CMS personalizado, selecione a que se aplica a ligação e escolha Ligar.
- Copie a Chave e o Endereço da API.
O endereço da API depende da região em que a sua conta se encontra, por exemplo, https:\/\/api.eu.silktide.com. Utilize o que a Silktide apresenta. Nos exemplos abaixo, substitua https:\/\/api.eu.silktide.com por esse endereço e a chave pela sua.
Para verificar se a chave funciona, envie-a para \/cms\/test-key. A Silktide responde com 200 se a chave for válida e com 403 se não for:
curl --request POST \
--header "Content-Type: application\/json" \
--data '{"apiKey": "eu:your-key"}' \
https:\/\/api.eu.silktide.com\/cms\/test-key
A sua integração não precisa de chamar isto. Destina-se a testes.
2. Publicação: informe a Silktide sobre o que mudou
Quando uma página é adicionada ou alterada, envie um pedido POST para \/cms\/update com um corpo JSON:
apiKey: a sua chave.url: o endereço público da página que foi alterada ouurls: uma lista de endereços.deferRetestSeconds(opcional): quantos segundos a Silktide deve aguardar antes de testar, por exemplo, enquanto as suas caches são limpas.
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
A Silktide responde de imediato e coloca o teste na fila. Normalmente, a página é testada novamente no prazo de um minuto.
A Silktide apenas testa endereços que pertencem aos websites aos quais a ligação se aplica, dentro do âmbito de testes de cada website. Tudo o resto é ignorado.
3. Edição: indique onde cada página é editada
Adicione uma meta tag ao <head> de cada página publicada pelo seu CMS:
<meta name="silktide-cms" content="...">
O respetivo content é um objeto JSON codificado em Base64:
{"cms": "Your CMS name", "editorUrl": "https:\/\/cms.example.com\/pages\/123\/edit"}
cmsidentifica o seu CMS. É texto livre.editorUrlé o endereço que alguém visita para editar esta página.
A Silktide lê a tag sempre que testa a página. Abrir no CMS abre editorUrl num novo separador.
A Base64 é fácil de descodificar, pelo que qualquer pessoa que veja a página pode ler editorUrl. Nunca inclua nela nada que permita iniciar sessão, como um token ou um nome de utilizador. Se preferir não mostrar os endereços do seu editor, encripte a tag.
Encriptar a tag (opcional)
Encripte o JSON com AES-256-CBC, utilizando a sua chave como chave de encriptação. Em seguida, codifique em Base64, por esta ordem: o vetor de inicialização, um HMAC SHA-256 dos bytes encriptados (também utilizando a sua chave) e os bytes encriptados. Em 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. Teste
- Implemente as suas alterações. Se adicionou a meta tag, limpe quaisquer caches para que as páginas públicas a incluam.
- Teste novamente o website na Silktide.
- Abra uma página no Inspector. Deve aparecer Abrir no CMS, que deverá abrir essa página no seu CMS.
- Publique uma página no seu CMS. A Silktide deverá começar a testá-la no prazo de um minuto.
Se algo não funcionar, escolha Contactar o suporte na Silktide.