Brug denne API til at forbinde dit CMS til Silktide, hvis du har et CMS, der ikke allerede understøttes af Silktide.
Oversigt
Silktide er en platform til webstedsstyring, der overvåger websteder for en række problemer – som ødelagte links, manglende tilgængelighed og stavefejl. Når det integreres med et CMS, bliver følgende to forbedringer mulige:
Publicering – publicering af en side i CMS'et fortæller Silktide at teste de berørte URL'er med det samme.
Redigering – brugere kan klikke på en knap inde i Silktide for at redigere en specifik side i CMS'et.
Autentifikation
Silktide leverer en API-nøgle til at autentificere opkald til API'en for CMS-integrationer.
For at få din API-nøgle:
Log ind på Silktide
Vælg dit websted
Klik i øverste højre hjørne af skærmen på Indstillinger > Integrationer.
Klik på Nyt CMS, vælg derefter dit CMS og Tilføj
apiKey
– din API-nøgle
Dette vil returnere en HTTP 200 kode, hvis det lykkes, eller 403 ellers.
Der er ikke behov for at implementere dette endpoint i din integration, det er blot nyttigt til at teste autentifikation.
API-nøgle test eksempel:
curl --header "Content-Type: application/json" \ --request POST \ --data '{"apiKey": "us:cd8c25ce-4132-4804-b643-cv2mc"}' \ https://api.silktide.com/cms/test-key
1. Publicering
Når en side tilføjes eller opdateres, bør CMS'et sende en forespørgsel til Silktide-platformen, der giver URL'erne på de sider, der er blevet ændret.
For at gøre dette, lav en HTTP POST som følger:
apiKey
– din API-nøgleurl
– en URL du vil opdatere ELLERurls
– en række af URL'er du ønsker at opdateredeferRetestSeconds
– antal sekunder at vente før retest af siden (valgfrit)
For eksempel:
{ "apiKey": "dbb6936748454b13fe7f56660a09c027", "url": "http://example.com/page" }
Forespørgsler er køet og behandles asynkront, så du bør forvente et næsten øjeblikkeligt succesfuldt svar (HTTP 200), men enhver webside(r) du sendte til kan tage 20-30 sekunder at reteste i Silktide.
2. Redigering
Silktide skal vide, hvilken URL brugere skal besøge for at redigere en given side i et CMS. For eksempel, for at redigere et indlæg i WordPress, har du brug for en URL som:
https://example.com/wp/wp-admin/post.php?post=123
I nogle CMS'er vil dette være trivielt at udlede, og i andre er det uoverkommeligt. For eksempel mangler nogle CMS'er konceptet af en 'side', hvilket gør det umuligt at linke til en editor for den side.
For hver side publiceret af dit CMS, tilføj en dynamisk <meta>
tag, der fortæller Silktide, hvordan man redigerer den side:
<meta name="silktide-cms" content="...">
Indholdet af denne meta tag er et Base64 kodet JSON objekt af denne form:
{ "cms": "Wordpress", "editorUrl": "..." }
Hvor:
cms
er en fritekstbeskrivelse af det aktuelle CMS, som kan vises til brugeren inde i Silktide.editorUrl
er den URL, som nogen skal besøge for at redigere siden.
Dette giver brugere af Silktide mulighed for at klikke på Rediger knappen på sideinspektøren og blive ført til sideeditoren inde i Content Management Systemet for at rette de rapporterede problemer.
Da Base64 er trivielt at vende, bør du ikke bruge denne tilgang til at kode nogen URL'er, der kan autentificere en bruger, f.eks. dem, der indeholder en token eller brugernavn eller lignende. Hvis dette er en bekymring, kan du eventuelt kryptere disse data.
Avanceret: tilføjelse af kryptering
Du kan eventuelt kryptere dine JSON-data, før de er Base 64 krypteret, ved hjælp af AES-256-CBC. For eksempel i PHP:
// Opret dine $data til kryptering, f.eks. $data = [ "cms" => "Wordpress", "editorUrl" => "...", ]; $ivlen = openssl_cipher_iv_length('AES-256-CBC'); $iv = openssl_random_pseudo_bytes($ivlen); $ciphertext_raw = openssl_encrypt( json_encode($data), 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv); $hmac = hash_hmac('sha256', $ciphertext_raw, $key, true); $ciphertext = base64_encode($iv.$hmac.$ciphertext_raw); // $ciphertext indeholder nu indholdet til din meta tag
Test af din integration
Når din integration er klar til test:
Få en API-nøgle som forklaret ovenfor (under Indstillinger > CMS) og sørg for, at din integration bruger den.
Implementer din integration i dit CMS.
Sørg for, at hvis nogen metadata eller kodeændringer blev foretaget på dine offentlige websider, at de ikke er cachelagret i en gammel tilstand. Tøm webstedets caches, hvis nødvendigt.
Bed Silktide om at reteste webstedet.
Inde i webstedets rapport, klik på Information > Sider og klik på en hvilken som helst side for at se den i Inspektøren.
En Rediger knap bør vises i øverste højre hjørne af skærmen, hvis Redigerings delen af denne integration var vellykket. Klik på dette ikon bør åbne CMS'et i en ny fane, hvor den aktuelle side redigeres.
Hvis du publicerer en side i dit CMS og derefter straks skifter til Silktide, bør du se en blå fremgangsbanner vises øverst på skærmen, mens den opdaterede side testes.
Hvis du oplever problemer med en integration, bedes du kontakte os via live chatten indbygget i din Silktide-konto.
Fejlfinding
Sørg for, at din API-nøgle har tilladelse til at få adgang til det/de websted(er), du integrerer med. Hvis du bruger en Konto API-nøgle, vil dette ikke være et problem.
Du kan kun teste URL'er, der overholder de tilladte og nægtede URL'er for det/de websted(er), du tester. Dette betyder, at hvis dit websted er defineret som eksempel.com, kan du ikke teste sider fra et-andet-eksempel.com. De vil blive ignoreret lydløst.