CMS REST -rajapinnan perus-URL-osoite, tunnistautumismallit, tenantin ratkaiseminen ja virhemalli.
Profound CMS:n REST-rajapintaa palvelee Rustilla toteutettu translation_manager-palvelu. Se tarjoaa renderöijän käyttämiä headless-luku- ja stream-päätepisteitä sekä sisällön, käännösten ja CSV-tuonnin kirjoituspäätepisteitä.
Kaikissa esimerkeissä käytetään arvoa {CMS_API_URL} CMS-rajapinnan isännän perus-URL-osoitteena (esimerkiksi https://cms.dev.tryprofound.com). Globaalia polkuetuliitettä ei ole — reitit on asennettu juureen, esim. {CMS_API_URL}/routes.
Rajapinta käyttää kahta erillistä menetelmää päätepisteestä riippuen.
Lähetä avain x-api-key-otsikkona tai api_key-kyselyparametrina:
curl '{CMS_API_URL}/dataset/post?websiteId=<uuid>' \
-H 'x-api-key: <your-api-key>'
Avaimet validoidaan WorkOS:n kautta ja välimuistitetaan lyhyesti muistiin. Luku-päätepisteissä API-avain vaaditaan vain, kun palvelin asettaa arvon require_schema_api_key = true; muussa tapauksessa anonyymit luvut ovat sallittuja. Variantin upsert (PATCH /dataset/{schema_name}) vaatii aina voimassa olevan avaimen, jolla on content_write-oikeus.
Käyttää API-avain -tunnistautumista: /routes, /route, /blocks*, /components*, /dataset/*, /schemas/*, /content-changes.
Hallintapäätepisteet vaativat WorkOS-käyttäjän JWT:n:
curl '{CMS_API_URL}/usage?orgId=<uuid>' \
-H 'Authorization: Bearer <workos-jwt>'
Käyttää Bearer-tunnistautumista: /translation, /translations, /usage, /csv.
API-avainta käyttävät päätepisteet ratkaisevat kohdeverkkosivuston tässä järjestyksessä:
?websiteId=<uuid> -kyselyparametriHost-otsake, jota verrataan määritettyyn verkkosivuston toimialueeseenCMS_WEBSITE_ID-varamenettely (yksittäinen tenant / paikallinen kehitys)Jos mikään näistä ei tuota kelvollista UUID:tä, päätepiste palauttaa arvon 400.
| Tila | Merkitys |
|---|---|
400 | Virheellinen pyyntö — puuttuva/virheellinen websiteId, virheellinen UUID tai validointivirhe |
401 | Puuttuvat tai virheelliset kirjautumistiedot |
403 | Tunnistautunut, mutta vaadittu käyttöoikeus puuttuu |
404 | Resurssia ei löydy |
500 | Sisäinen / tietokantavirhe |
GET {CMS_API_URL}/health palauttaa { "status": "ok" } eikä vaadi tunnistautumista — käytä sitä elinvoimaisuustarkistuksiin.