profound-logoProfound CMS
⌘K
Admin
Theme
DocsTutorialBlogPhilosophy
DocsTutorialBlogPhilosophy

Hybrid

Collection of Pages with ComponentsTypes of ComponentsSetup server sent events (SSE) content refetchAdminipaneeli puhverserveri seadistamineCEL Scripting in Template BuilderProject ScaffoldingMedia Library

Headless

KiirkÀivitusSplit Screen JSON Component Builder with LLMComponent Zod Pull

RESTi API

REST API OverviewgetConnect your websitegetMarsruutide hankiminegetGET /routegetGET /blocksgetGET /blocks/with-cel-cachegetGET /blocks/generatedgetGET /componentsgetGET /components/{name}getGET /dataset/{schema_name}getGET /content-changes (SSE)patchPATCH /dataset/{schema_name}postPOST /translationpatchPATCH /translationsgetGET /usagepostPOST /csvpatchPATCH /csv
All Systems Operational
Powered Byprofound-logo
Theme

Connect your website

Ühendage veebisait CMS-i API-ga

CMS-i API vÔimaldab teie veebisaidil Profound CMS-ist avaldatud sisu hankida ja renderdada. Saate seda kasutada dokumentatsioonilehtede, turunduslehtede, blogide, abikeskuste vÔi mis tahes muu sisupÔhise kogemuse toetamiseks.

TĂŒĂŒpiline integratsioon koosneb kolmest osast:

  1. Konfigureerige oma CMS-ĂŒhendus
  2. Tooge avaldatud sisu
  3. Renderdage sisu oma rakenduses

Konfigureerimine

Et ĂŒhendada oma rakendus CMS-iga, esitage CMS-i API URL, veebisaidi ID ja API-vĂ”ti.

const cmsConfig = {
  cmsUrl: 'https://cms.dev.tryprofoun.com',
  websiteId: 'your-website-id',
  apiKey: process.env.PROFOUND_API_KEY,
};

Kasutage keskkonnamuutujaid vÀÀrtuste jaoks, mis erinevad keskkondade vahel:

NEXT_PUBLIC_CMS_API_URL=https://cms.dev.tryprofound.com
NEXT_PUBLIC_WEBSITE_ID=your-website-id
PROFOUND_API_KEY=your-api-key

Ärge avaldage privaatseid API-vĂ”tmeid kliendipoolses koodis. API-vĂ”tmeid tuleks kasutada teie serveris, ehitusprotsessis vĂ”i taustateenuse marsruutides.

Sisu toomine

CMS-is on sisu organiseeritud skeemide kaupa. NÀiteks vÔib teie projektil olla skeeme nagu post, category, page vÔi section.

Kasutage skeemi nime sisu toomiseks:

const posts = await cms.schema('post').fetchAll();

Üksiku dokumendi hankimiseks ID jĂ€rgi:

const post = await cms.schema('post').fetchSingleById('document-id');

Lokaliseeritud sisu toomiseks kĂŒsige skeemi tĂ”lgitud versiooni:

const frenchPost = await cms
  .schema('post')
  .translation('fr')
  .fetchSingleById('document-id');

Marsruutide renderdamine

Veebisaitidel, mis kasutavad CMS-i hallatavaid lehti, saate sisu tuua vastavalt praegusele URL-i teele.

const route = await cms.route.getByPath({
  websiteId: 'your-website-id',
  path: '/docs/getting-started',
});

Marsruudi vastus tuvastab lehe ja plokid, mida renderdada. SeejÀrel saab teie rakendus plokid tuua ja renderdada need teie enda komponentidega.

const blocks = await cms.block.getByIds({
  websiteId: 'your-website-id',
  ids: route.blockIds,
});

NĂ€ide: dokumentatsioonilehe renderdamine

async function getDocsPage(path: string) {
  const route = await cms.route.getByPath({
    websiteId: process.env.WEBSITE_ID,
    path,
  });

  const blocks = await cms.block.getByIds({
    websiteId: process.env.WEBSITE_ID,
    ids: route.blockIds,
  });

  return {
    title: route.label,
    path: route.path,
    blocks,
  };
}

Tagastatud plokke saate kasutada lehe renderdamiseks oma rakenduse komponentide sĂŒsteemi abil.

Puhverdamine

Avaldatud CMS-i sisu on ohutu vahemĂ€llu salvestada. Enamiku veebisaitide puhul salvestage API vastused lĂŒhikeseks ajaks vahemĂ€llu ja valideerige need uuesti, kui sisu muutub.

Levinud seadistus on:

const content = await cache(
  () => cms.schema('post').fetchAll(),
  {
    revalidate: 60,
    tags: ['cms-posts'],
  }
);

Soovitatav vahemÀlu kÀitumine:

  • Salvestage avaldatud pĂ€ringute tulemused vahemĂ€llu.
  • Kasutage sagedasti uueneva sisu jaoks lĂŒhemaid vahemĂ€lu aknaid.
  • Kasutage vahemĂ€lu silte, kui teie raamistik toetab nĂ”udmisel tĂŒhistamist.
  • VĂ€ltige eelvaate vĂ”i mustandi sisu vahemĂ€llu salvestamist.

EelvaatereĆŸiim

EelvaatereĆŸiim vĂ”imaldab toimetajatel nĂ€ha avaldamata muudatusi enne nende avaldamist.

Levinud muster on kasutada eraldi eelvaate marsruuti, nÀiteks:

/docs/getting-started
/cms-preview/docs/getting-started

Tootmislehed peaksid tooma ainult avaldatud sisu. Eelvaatelehed vÔivad aktsepteerida eelvaate parameetreid, nÀiteks:

?edit_mode=true

Eelvaate marsruudid peaksid tavaliselt olema dĂŒnaamilised ja neid ei tohiks staatiliselt vahemĂ€llu salvestada.

Vigade kÀsitlemine

CMS-i sisu ei pruugi ehituse vÔi pÀringu ajal saadaval olla. Teie rakendus peab sellega elegantselt toime tulema.

Soovitatav kÀitumine:

  • Tagastage 404, kui marsruuti ei ole olemas.
  • Tagastage tĂŒhi loend, kui valikulist navigeerimissisu ei saa laadida.
  • Logige serveripoolsed hanketĂ”rked.
  • VĂ€ltige kĂŒlastajatele sisemiste API-tĂ”rgete avaldamist.

NĂ€ide:

async function getPost(id: string) {
  try {
    return await cms.schema('post').fetchSingleById(id);
  } catch (error) {
    console.error('Failed to fetch CMS post', error);
    return null;
  }
}

Turvalisus

Hoidke API-vĂ”tmed privaatsena ja kasutage neid ainult serveris. Ärge lisage privaatseid mandaate brauseri pakkidesse ega avalikku JavaScripti.

Kasutage avalikke keskkonnamuutujaid ainult mittetundlike vÀÀrtuste jaoks, nÀiteks:

  • CMS-i avalik URL
  • Veebisaidi ID
  • Lokaliseeringu seadistus

Kasutage privaatseid keskkonnamuutujaid jÀrgmiseks:

  • API-vĂ”tmed
  • eelvaate tokenid
  • administraatori mandaadid
  • juurutuse saladused

KokkuvÔte

Kasutage CMS-i API-t, kui teie veebisait vajab struktureeritud sisu toomist, CMS-i hallatavate marsruutide renderdamist vÔi toimetaja eelvaate töövoogude toetamist.

Standardne integratsioon peaks:

  • Konfigureerima CMS-i URL-i, veebisaidi ID ja API-vĂ”tme.
  • Tooma dokumente skeemi kaupa.
  • Tooma lehti marsruudi tee jĂ€rgi.
  • Renderdama CMS-i plokke oma komponentidega.
  • Salvestama avaldatud sisu vahemĂ€llu.
  • Hoidma eelvaate sisu dĂŒnaamilisena.
  • Hoidma privaatseid mandaate serveris.
Continue Reading
Previousâ€čREST API OverviewNextMarsruutide hankimineâ€ș