ProgrameriJAVNI API ZA SADRŽAJ

Čist REST i JSON. Zatvoreno dok ga ne otvorite.

Konfiguracija javnog API-ja po sajtu tačno određuje šta je izloženo i kome. Preuzimajte objavljeni sadržaj, mape sajta i preusmerenja u istom predvidivom JSON obliku svuda — bez GraphQL šeme koju treba učiti i bez generisanog klijenta koji treba sinhronizovati. Svaki zahtev ispod je stvaran: blog izgrađen na CMSHub-u, pozvan samo pomoću curl-a.

01 / PREUZMITE OBJAVLJENI SADRŽAJ

Jedan GET zahtev, objavljeni zapisi kao JSON

Kada sajt uključi pristup i doda kolekciju na listu dozvoljenih, njeni objavljeni zapisi su na jedan običan GET — razrešeni u potpunosti iz Host zaglavlja, bez API ključa za javne podatke.

  • Vraćaju se isključivo OBJAVLJENI zapisi — nacrti i neobjavljene revizije nikada ne cure kroz javnu putanju.
  • Podrazumevana zabrana: nepoznat host, onemogućen sajt ili kolekcija koja nije na listi dozvoljenih — sve vraća isti 404.
  • ?locale=xx vraća objavljenu varijantu za taj jezik, uz povratak na podrazumevani jezik radnog prostora.
GEThttps://the-signal.blog/api/posts
curl https://the-signal.blog/api/posts
RESPONSE
{
  "siteId": "the-signal-4f2a",
  "siteName": "The Signal",
  "baseUrl": "https://the-signal.blog",
  "collection": {
    "id": "3b0d6f2a-9c41-4e8a-8f2e-1d4c9a7b6e11",
    "slug": "posts",
    "name": "Posts"
  },
  "data": [
    {
      "id": "a91f2e3c-7d5b-4a10-9c3e-6f8a2b1d0e44",
      "locale": "en",
      "translationOfId": null,
      "data": {
        "title": "Shipping a public content API without a GraphQL schema",
        "slug": "shipping-a-public-content-api",
        "excerpt": "Plain REST beats a bespoke query language when a frontend just needs JSON.",
        "category": "Engineering",
        "author": "Dana Osei",
        "published_at": "2026-09-10"
      }
    },
    {
      "id": "d2c5b8a1-4e3f-4c9d-8b7a-2f1e6d5c4b33",
      "locale": "en",
      "translationOfId": null,
      "data": {
        "title": "What the quality gate actually checks before you publish",
        "slug": "the-quality-gate-explained",
        "excerpt": "Every generated page passes the same checks, whether it's post 1 or post 10,000.",
        "category": "Product",
        "author": "Dana Osei",
        "published_at": "2026-09-04"
      }
    }
  ],
  "meta": {
    "locale": "en",
    "pagination": { "start": 0, "limit": 20, "total": 2, "nextCursor": null }
  }
}
02 / OTKRIVANJE, AUTOMATSKI

Mapa sajta koja uvek odgovara onome što je zaista objavljeno

sitemap.xml i robots.txt generišu se iz istog inventara stranica iz kojeg čita API za sadržaj — nema posebne konfiguracije za sinhronizaciju i ničeg što treba ručno ponovo generisati.

  • Odražava živi inventar stranica pri svakom zahtevu — objavite stranicu i ona je u mapi sajta.
  • hreflang alternative se automatski dodaju za svaku stranicu sa prevedenim varijantama.
  • /robots.txt upućuje crawlere na isti sitemap, za svaki sajt posebno.
GEThttps://the-signal.blog/sitemap.xml
curl https://the-signal.blog/sitemap.xml
RESPONSE
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url><loc>https://the-signal.blog/posts/shipping-a-public-content-api</loc><lastmod>2026-09-10T14:22:00.000Z</lastmod></url>
  <url><loc>https://the-signal.blog/posts/the-quality-gate-explained</loc><lastmod>2026-09-04T09:15:00.000Z</lastmod></url>
</urlset>
03 / PODRAZUMEVANO ZATVORENO

Vi odlučujete šta sajt izlaže

Javni API-ji za sadržaj ostaju zatvoreni dok eksplicitno ne podesite šta sajt izlaže — nema podrazumevano otvorenog endpointa koji tiho servira neobjavljen sadržaj ili nacrte.

Konfiguracija po sajtu

Omogućite i podesite javni API nezavisno za svaki sajt u radnom prostoru.

Samo objavljeni sadržaj

Javni API servira samo ono što je prošlo kroz kapiju kvaliteta i zaista je objavljeno — nikada nacrte.

Verzionisano, stabilno

Svaka ruta se nalazi pod verzionisanom putanjom, pa integracija napravljena danas nastavlja da radi dok se CMSHub razvija.

POZOVITE STVARNI ENDPOINT

Omogućite javni API za sajt.

Uključite javni API za sadržaj za jedan od svojih sajtova i preuzmite generisanu stranicu.